home *** CD-ROM | disk | FTP | other *** search
Wrap
anfwink#=0 endwink#=3600 bildin#=1 p_m#=3 g_m#=1 DEFMOUSE 0 DIM r#(15) DIM g#(15) DIM b#(15) DIM farb_index#(15) FOR x#=0 TO 14 READ r#(x#),g#(x#),b#(x#) SETCOLOR x#,r#(x#),g#(x#),b#(x#) NEXT x# DATA 7,7,7,7,0,0,0,6,0,0,0,7,0,0,5,5,2,0,7,4,3,5,5,5,3,3,3,0,7,7,0,4,0,7,0,7 DATA 5,0,5,7,7,0,5,5,0 HIDEM IF EXIST("TITEL.LUP") THEN BLOAD "TITEL.LUP",XBIOS(2) REPEAT UNTIL MOUSEK<>0 OR INKEY$<>"" ENDIF CLS IF EXIST("BENUTZ.LUP") THEN BLOAD "BENUTZ.LUP",XBIOS(2) ENDIF SGET benutz$ breite#=1 komp1#=1 komp2#=1 CLS SGET bild_1$ SGET bild_2$ SGET bild_3$ DEFMOUSE 0 PAUSE 5 SPUT benutz$ bildin#=1 REPEAT REPEAT DEFMOUSE 0 GOSUB farbe REPEAT GOSUB farbe REPEAT SHOWM SPUT benutz$ PAUSE 5 waag#=0 senk#=0 sondert#=0 DEFMOUSE 0 DEFTEXT 1,,,6 COLOR 1 DEFFILL 1,1,1 DEFLINE 1,1,0,0 REPEAT farbe1$=INKEY$ waagrecht#=MOUSEX senkrecht#=MOUSEY UNTIL farbe1$<>"" OR MOUSEK<>0 IF MOUSEK=1 THEN waag#=INT(waagrecht#/45)+1 senk#=INT(senkrecht#/33)+1 ENDIF PAUSE 5 IF bildin#=1 THEN SPUT bild_1$ ENDIF IF bildin#=2 SPUT bild_2$ ENDIF IF bildin#=3 THEN SPUT bild_3$ ENDIF IF LEN(farbe1$)=1 THEN farbe1$=UPPER$(farbe1$) SGET screen$ ENDIF IF waag#>0 AND (waag#<>4 OR senk#<>5) THEN SGET screen$ ENDIF IF LEN(farbe1$)>1 THEN sondert#=ASC(RIGHT$(farbe1$,1)) ENDIF IF farbe1$<>"" THEN SHOWM ENDIF IF sondert#=59 OR (waag#=5 AND senk#=5) THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 PAUSE 5 ENDIF IF sondert#=60 OR (waag#=6 AND senk#=5) THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 PAUSE 5 ENDIF IF sondert#=61 OR (waag#=7 AND senk#=5) THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 PAUSE 5 ENDIF IF sondert#=97 OR (waag#=4 AND senk#=5) THEN IF screen$<>"" THEN SGET screen1$ SPUT screen$ screen$=screen1$ sondert#=0 ENDIF IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF PAUSE 5 ENDIF IF sondert#=98 OR (waag#=1 AND senk#=5) THEN SGET ges$ CLS DEFTEXT 1,0,0,4 TEXT 0,10," Anleitung" TEXT 0,20,320,"LUPECOL2 ist ein Grafikprogramm für den Farbmonitor" TEXT 0,26,"von Nils Raabe." TEXT 0,36,320,"Bei LUPECOL2 werden die verschiedenen Funktionen " TEXT 0,42,320,"über das Menü oder die Tastatur ( Man kann sich " TEXT 0,48,320,"eine Tabelle ansehen, indem man >T< drückt) aufge-" TEXT 0,54,320,"rufen. Um einen Auschnitt mit der Lupe zu vergrößern," TEXT 0,60,320,"schiebt man das Quadrat auf die gewünschte Stelle" TEXT 0,66,320,"und drückt die linke Maustaste. Die aktuelle" TEXT 0,72,320,"Farbe ist bei jeder neuen Vergrößerung schwarz." TEXT 0,78,320,"Um einen Punkt in der aktuellen Farbe zu setzen," TEXT 0,84,320,"drückt man im Vergrößerungsfenster die linke" TEXT 0,90,320,"Maustaste. Die aktuelle Farbe wird - wie auch" TEXT 0,96,320,"bei allen anderen Zeichenfunktionen - über die" TEXT 0,102,320,"Tastatur verändert ( Auch hier mit >T< die" TEXT 0,108,"Tastaturbelegung)." TEXT 0,114,320,"Bei den Funktionen >Kreise<, >Ellipsen<, >Recht-" TEXT 0,120,320,"ecke<, >Linien< und >N-Eck< setzt man den Start-" TEXT 0,126,320,"punkt der Objekte mit der linken Maustaste und" TEXT 0,132,320,"kann nach Loslassen der Taste die Objekte" TEXT 0,138,320,"ziehen. Drückt man erneut die Taste, wird das Objekt" TEXT 0,144,320,"gezeichnet. Eine Funktion verläßt man mit der" TEXT 0,150,320,"rechten Maustaste. Bei all diesen Funktionen " TEXT 0,156,320,"- wie auch bei >Freihandzeichnen<, >Parallelo-" TEXT 0,162,320,"gramm<, >Dreiecke<, >Netz<, >Polygon< und >Pyra-" TEXT 0,168,320,"mide< - wird die Linienbreite mit >+< bzw. >-<" TEXT 0,174,"verstärkt bzw. verringert." TEXT 0,195," Weiter mit linker Maustaste" REPEAT UNTIL MOUSEK=1 OR MOUSEK=2 IF MOUSEK=1 THEN CLS PAUSE 5 TEXT 0,10,320,"Bei den Funktionen >Parallelogramme<, >Dreiecke< und" TEXT 0,16,320,">Pyramide< zieht man zunächst wie gewohnt eine Linie." TEXT 0,22,320,"Wenn man jetzt noch einmal die linke Maustaste" TEXT 0,28,320,"drückt, kann man bei >Dreiecke< und >Pyramide< ein" TEXT 0,34,320,"Dreieck und bei >Parallelogramme< ein Parallelogramm" TEXT 0,40,320,"ziehen, das bei Drücken der Taste gezeichnet wird." TEXT 0,46,320,"Drückt man bei >Pyramide< nun noch einmal die linke" TEXT 0,52,320,"Maustaste, so werden die drei Eckpunkte des vorher" TEXT 0,58,320,"gezeichneten Dreiecks mit der Mausposition verbunden" TEXT 0,66,"und man kann eine Pyramide ziehen." TEXT 0,72,320,"Bei den Funktionen >N-Eck< bzw. >Netz< kann man die" TEXT 0,78,320,"Anzahl der Ecken bzw. Kästen durch die Tasten >(<" TEXT 0,84,"bzw. >)< verändern." TEXT 0,90,320,"Mit >Undo< wird der letze Arbeitsschritt rückgängig" TEXT 0,96,"gemacht." TEXT 0,102,320,"Mit den Funktionstasten kann man zwischen den ver-" TEXT 0,108,320,"schiedenen Bildern hin- und herspringen." TEXT 0,114,320,"Bei der Funktion >Farben einstellen< kann man durch" TEXT 0,120,320,"Anklicken der Plus-/Minus-Tasten die Rot-/Grün- und" TEXT 0,126,320,"Blauanteile der ausgewählten Farbe verändern." TEXT 0,132,320,"Um das Programm zu verlassen, hält man die rechte" TEXT 0,138,"Maustaste gedrückt." REPEAT UNTIL MOUSEK=1 OR MOUSEK=2 ENDIF SPUT ges$ sondert#=0 GRAPHMODE 3 ENDIF IF farbe1$="8" OR (waag#=3 AND senk#=6) THEN muster$="" SGET screen2$ PAUSE 5 DIM zeile$(17) CLS COLOR 1 DEFFILL 1,komp1#,komp2# GRAPHMODE 1 BOUNDARY 0 PBOX 0,0,15,15 PAUSE 5 BOUNDARY 1 FOR bau#=0 TO 15 FOR topf#=0 TO 15 zeile$(bau#+1)=zeile$(bau#+1)+STR$(POINT(topf#,bau#)) NEXT topf# muster$=muster$+MKI$(VAL("&X"+zeile$(bau#+1))) NEXT bau# DEFFILL 1,muster$ PBOX 200,10,270,40 CLS BOX 100,100,120,120 TEXT 107,113,"L" BOX 100,125,120,145 TEXT 107,138,"S" BOX 100,150,120,170 TEXT 107,163,"K" BOX 0,0,73,73 DEFFILL 1,1,1 PBOX 4,4,68,68 FOR bau#=1 TO 16 FOR topf#=1 TO 16 DEFFILL VAL(RIGHT$(LEFT$(zeile$(bau#),topf#),1)),1 PBOX topf#*4+1,bau#*4+1,topf#*4+3,bau#*4+3 NEXT topf# NEXT bau# REPEAT DEFFILL 1,muster$ PBOX 200,10,270,40 REPEAT mustx#=MOUSEX musty#=MOUSEY UNTIL MOUSEK<>0 IF MOUSEK=1 AND mustx#>100 AND mustx#<120 AND musty#>150 AND musty#<170 THEN xlupe#=16 ylupe#=16 SGET screen3$ SPUT screen2$ GRAPHMODE 3 HIDEM REPEAT UNTIL MOUSEK=0 REPEAT mx#=MOUSEX my#=MOUSEY IF mx#+xlupe#>=320 THEN mx#=320-xlupe# ENDIF IF my#+ylupe#>=200 THEN my#=200-ylupe# ENDIF BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe# REPEAT testx#=MOUSEX testy#=MOUSEY IF testx#+xlupe#>=320 THEN testx#=320-xlupe# ENDIF IF testy#+ylupe#>=200 THEN testy#=200-ylupe# ENDIF EXIT IF MOUSEK=2 UNTIL testx#<>mx# OR testy#<>my# OR MOUSEK<>0 BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe# UNTIL MOUSEK<>0 IF MOUSEK=1 THEN GET mx#,my#,mx#+16,my#+16,muste$ muster$="" ERASE zeile$() DIM zeile$(17) SGET screen2$ PAUSE 5 CLS PUT 0,0,muste$ GRAPHMODE 1 PAUSE 5 FOR bau#=0 TO 15 FOR topf#=0 TO 15 pufa#=POINT(topf#,bau#) IF POINT(topf#,bau#)>1 THEN COLOR 0 PLOT topf#,bau# pufa#=0 ENDIF zeile$(bau#+1)=zeile$(bau#+1)+STR$(pufa#) NEXT topf# muster$=muster$+MKI$(VAL("&X"+zeile$(bau#+1))) NEXT bau# COLOR 1 DEFFILL 1,muster$ PBOX 200,10,270,40 CLS BOX 100,100,120,120 TEXT 107,113,"L" BOX 100,125,120,145 TEXT 107,138,"S" BOX 100,150,120,170 TEXT 107,163,"K" BOX 0,0,73,73 DEFFILL 1,1,1 PBOX 4,4,68,68 FOR bau#=1 TO 16 FOR topf#=1 TO 16 DEFFILL VAL(RIGHT$(LEFT$(zeile$(bau#),topf#),1)),1 PBOX topf#*4+1,bau#*4+1,topf#*4+3,bau#*4+3 NEXT topf# NEXT bau# ELSE SPUT screen3$ ENDIF SHOWM ENDIF IF MOUSEK=1 AND mustx#>100 AND mustx#<120 AND musty#>125 AND musty#<145 THEN FILESELECT "A:\*.MUS","",mus$ IF mus$<>"" THEN OPEN "O",#1,mus$ FOR x#=1 TO 16 PRINT #1,zeile$(x#) NEXT x# CLOSE #1 ENDIF ENDIF IF mustx#>100 AND mustx#<120 AND musty#>100 AND musty#<120 THEN FILESELECT "A:\*.MUS","",mus$ IF mus$<>"" THEN OPEN "I",#1,mus$ FOR x#=1 TO 16 INPUT #1,zeile$(x#) NEXT x# CLOSE #1 muster$="" FOR bau#=1 TO 16 muster$=muster$+MKI$(VAL("&X"+zeile$(bau#))) NEXT bau# DEFFILL 1,muster$ PBOX 200,10,270,40 FOR bau#=1 TO 16 FOR topf#=1 TO 16 DEFFILL VAL(RIGHT$(LEFT$(zeile$(bau#),topf#),1)),1 PBOX topf#*4+1,bau#*4+1,topf#*4+3,bau#*4+3 NEXT topf# NEXT bau# ENDIF ENDIF IF MOUSEK=1 AND mustx#<68 AND musty#<68 AND mustx#>3 AND musty#>3 THEN zeile#=INT(musty#/4) spalte#=INT(mustx#/4) IF POINT(mustx#+1,musty#+1)=0 THEN DEFFILL 1,1 ur#=1 ELSE DEFFILL 0,0 ur#=0 ENDIF REPEAT GRAPHMODE 1 musty#=MOUSEY mustx#=MOUSEX zeile#=INT(musty#/4) spalte#=INT(mustx#/4) IF ur#=1 THEN DEFFILL 1,1 ELSE DEFFILL 0,0 ENDIF PBOX spalte#*4+1,zeile#*4+1,spalte#*4+3,zeile#*4+3 zeile$(zeile#)="" FOR topf#=1 TO 16 zeile$(zeile#)=zeile$(zeile#)+STR$(POINT((topf#)*4+1,(zeile#)*4+1)) NEXT topf# muster$="" FOR bau#=1 TO 16 muster$=muster$+MKI$(VAL("&X"+zeile$(bau#))) NEXT bau# DEFFILL 1,muster$ PBOX 200,10,270,40 UNTIL MOUSEK=0 OR MOUSEX<4 OR MOUSEY<4 OR MOUSEX>67 OR MOUSEY>67 ENDIF PAUSE 5 UNTIL MOUSEK=2 DEFFILL 1 ERASE zeile$() SPUT screen2$ DEFFILL 1,1,0 ENDIF IF farbe1$="7" OR (waag#=2 AND senk#=6) THEN DEFFILL 0 SGET screen2$ PAUSE 5 DEFMOUSE 5 REPEAT UNTIL MOUSEK=1 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY IF mx1#-mx#>320 THEN mx1#=mx#+158 ENDIF IF my1#-my#>200 THEN my1#=my#+98 ENDIF IF mx#>mx1# THEN mx1#=mx# ENDIF IF my#>my1# THEN my1#=my# ENDIF GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,kopierb$ PUT 0,0,kopierb$ xachse#=mx1#-mx# yachse#=my1#-my# FOR q#=1 TO xachse# FOR w#=1 TO yachse# IF POINT(q#,w#)<>POINT(q#-1,w#) AND POINT(q#,w#)<>1 AND POINT(q#-1,w#)<>1 THEN COLOR 1 GRAPHMODE 1 PLOT q#,w# ENDIF IF POINT(q#,w#)<>POINT(q#,w#-1) AND POINT(q#,w#)<>1 AND POINT(q#,w#-1)<>1 THEN COLOR 1 GRAPHMODE 1 PLOT q#,w# ENDIF IF POINT(q#,w#)<>POINT(q#-1,w#-1) AND POINT(q#,w#)<>1 AND POINT(q#-1,w#-1)<>1 THEN COLOR 1 GRAPHMODE 1 PLOT q#,w# ENDIF NEXT w# NEXT q# GET 0,0,xachse#,yachse#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 GRAPHMODE g_m# IF MOUSEK=1 PUT mx2#,my2#,k_bild$,p_m# ENDIF GRAPHMODE 1 ERASE punkte#() DEFMOUSE 0 DEFFILL 1 COLOR 1 ENDIF IF farbe1$="W" OR (waag#=1 AND senk#=6) THEN DEFFILL 0 SGET screen2$ PAUSE 5 DEFMOUSE 5 REPEAT UNTIL MOUSEK=1 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY IF mx1#-mx#>320 THEN mx1#=mx#+158 ENDIF IF my1#-my#>200 THEN my1#=my#+98 ENDIF IF mx#>mx1# THEN mx1#=mx# ENDIF IF my#>my1# THEN my1#=my# ENDIF GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,kopierb$ PUT 0,0,kopierb$ xachse#=mx1#-mx# yachse#=my1#-my# FOR q#=0 TO xachse# FOR w#=0 TO yachse# IF POINT(q#,w#)>1 THEN COLOR 0 GRAPHMODE 1 PLOT q#,w# ENDIF NEXT w# NEXT q# GET 0,0,xachse#,yachse#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 GRAPHMODE g_m# IF MOUSEK=1 PUT mx2#,my2#,k_bild$,p_m# ENDIF GRAPHMODE 1 ERASE punkte#() DEFMOUSE 0 DEFFILL 1 COLOR 1 ENDIF IF farbe1$="5" OR (waag#=7 AND senk#=4) THEN freisp#=DFREE(1) freisp$=STR$(freisp#) reibi#=INT(freisp#/32000) reibi$=STR$(reibi#) insg$="ES SIND NOCH| "+freisp$+" BYTES FREI|DAS REICHT FÜR|"+reibi$+" BILDER" ALERT 1,insg$,1,"OK",b# ENDIF IF farbe1$="4" OR (waag#=6 AND senk#=4) THEN SGET screen2$ CLS FOR f#=0 TO 15 GRAPHMODE 1 DEFFILL f# BOX f#*15+1,10,f#*15+11,20 FILL f#*15+3,13 NEXT f# BOX fabb#*15,9,fabb#*15+12,21 FOR x#=1 TO 3 BOX x#*10,100,x#*10+10,110 DEFTEXT 1,,4 TEXT x#*10+2,107,"+" NEXT x# FOR x#=1 TO 3 BOX x#*10,110,x#*10+10,120 DEFTEXT 1,,4 TEXT x#*10+2,117,"-" NEXT x# TEXT 12,98,"R" TEXT 22,98,"G" TEXT 32,98,"B" BOX 100,100,120,120 TEXT 107,113,"L" BOX 100,125,120,145 TEXT 107,138,"S" TEXT 12,128,r#(fabb1#) TEXT 22,128,g#(fabb1#) TEXT 32,128,b#(fabb1#) REPEAT REPEAT mxfabb#=MOUSEX myfabb#=MOUSEY UNTIL MOUSEK=1 AND mxfabb#<240 OR MOUSEK=2 EXIT IF MOUSEK=2 IF mxfabb#>100 AND mxfabb#<120 AND myfabb#>125 AND myfabb#<145 THEN FILESELECT "A:\*.COL","",col$ IF col$<>"" THEN OPEN "O",#1,col$ FOR x#=0 TO 15 PRINT #1,r#(x#) PRINT #1,g#(x#) PRINT #1,b#(x#) NEXT x# CLOSE #1 ENDIF ENDIF IF mxfabb#>100 AND mxfabb#<120 AND myfabb#>100 AND myfabb#<120 THEN FILESELECT "A:\*.COL","",col$ IF col$<>"" THEN OPEN "I",#1,col$ FOR x#=0 TO 15 INPUT #1,r#(x#) INPUT #1,g#(x#) INPUT #1,b#(x#) SETCOLOR x#,r#(x#),g#(x#),b#(x#) NEXT x# CLOSE #1 ENDIF ENDIF IF myfabb#<90 THEN GRAPHMODE 3 BOX fabb#*15,9,fabb#*15+12,21 fabb#=INT(mxfabb#/15) GRAPHMODE 1 BOX fabb#*15,9,fabb#*15+12,21 IF fabb#=0 THEN fabb1#=0 ENDIF IF fabb#=2 THEN fabb1#=1 ENDIF IF fabb#=3 THEN fabb1#=2 ENDIF IF fabb#=6 THEN fabb1#=3 ENDIF IF fabb#=4 THEN fabb1#=4 ENDIF IF fabb#=7 THEN fabb1#=5 ENDIF IF fabb#=5 THEN fabb1#=6 ENDIF IF fabb#=8 THEN fabb1#=7 ENDIF IF fabb#=9 THEN fabb1#=8 ENDIF IF fabb#=10 THEN fabb1#=9 ENDIF IF fabb#=11 THEN fabb1#=10 ENDIF IF fabb#=14 THEN fabb1#=11 ENDIF IF fabb#=12 THEN fabb1#=12 ENDIF IF fabb#=15 THEN fabb1#=13 ENDIF IF fabb#=13 THEN fabb1#=14 ENDIF IF fabb#=1 THEN fabb1#=15 ENDIF ENDIF IF mxfabb#>10 AND mxfabb#<40 AND myfabb#>100 AND myfabb#<110 THEN PAUSE 5 rgb#=INT(mxfabb#/10) IF rgb#=1 THEN IF r#(fabb1#)<7 THEN r#(fabb1#)=r#(fabb1#)+1 ENDIF ENDIF IF rgb#=2 THEN IF g#(fabb1#)<7 THEN g#(fabb1#)=g#(fabb1#)+1 ENDIF ENDIF IF rgb#=3 THEN IF b#(fabb1#)<7 THEN b#(fabb1#)=b#(fabb1#)+1 ENDIF ENDIF SETCOLOR fabb1#,r#(fabb1#),g#(fabb1#),b#(fabb1#) ENDIF IF mxfabb#>10 AND mxfabb#<40 AND myfabb#>110 AND myfabb#<120 THEN PAUSE 5 rgb#=INT(mxfabb#/10) IF rgb#=1 THEN IF r#(fabb1#)>0 THEN r#(fabb1#)=r#(fabb1#)-1 ENDIF ENDIF IF rgb#=2 THEN IF g#(fabb1#)>0 THEN g#(fabb1#)=g#(fabb1#)-1 ENDIF ENDIF IF rgb#=3 THEN IF b#(fabb1#)>0 THEN b#(fabb1#)=b#(fabb1#)-1 ENDIF ENDIF SETCOLOR fabb1#,r#(fabb1#),g#(fabb1#),b#(fabb1#) ENDIF TEXT 12,128,r#(fabb1#) TEXT 22,128,g#(fabb1#) TEXT 32,128,b#(fabb1#) UNTIL MOUSEK=2 SPUT screen2$ ENDIF IF farbe1$="U" OR (waag#=4 AND senk#=4) THEN SGET screen2$ CLS DEFTEXT 1,0,0,6 TEXT 30,10,"GRAPHIKMODUS:" FOR x#=1 TO 4 BOX x#*30,30,x#*30+20,50 DEFTEXT 1,0,0,6 TEXT x#*30+5,40,x# NEXT x# BOX g_m#*30-1,29,g_m#*30+21,51 REPEAT GRAPHMODE 3 REPEAT UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 IF MOUSEX>30 AND MOUSEX<140 AND MOUSEY>30 AND MOUSEY<50 AND MOUSEK=1 THEN BOX g_m#*30-1,29,g_m#*30+21,51 g_m#=INT(MOUSEX/30) IF g_m#=1 THEN p_m#=3 ENDIF IF g_m#=2 THEN p_m#=7 ENDIF IF g_m#=3 THEN p_m#=6 ENDIF IF g_m#=4 THEN p_m#=13 ENDIF GRAPHMODE 3 BOX g_m#*30-1,29,g_m#*30+21,51 ENDIF UNTIL MOUSEK=2 SPUT screen2$ ENDIF IF farbe1$="O" OR (waag#=1 AND senk#=2) THEN DEFFILL 0 SGET screen2$ PAUSE 5 DEFMOUSE 5 REPEAT UNTIL MOUSEK=1 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY IF mx1#-mx#>158 THEN mx1#=mx#+158 ENDIF IF my1#-my#>98 THEN my1#=my#+98 ENDIF IF mx#>mx1# THEN mx1#=mx# ENDIF IF my#>my1# THEN my1#=my# ENDIF GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,kopierb$ PUT 0,0,kopierb$ xachse#=mx1#-mx# yachse#=my1#-my# DIM punkte#(xachse#,yachse#) FOR q#=0 TO xachse# FOR w#=0 TO yachse# punkte#(q#,w#)=POINT(q#,w#) NEXT w# NEXT q# CLS FOR r#=0 TO yachse#-1 FOR e#=0 TO xachse#-1 IF e#>0 AND r#>0 THEN GRAPHMODE 1 IF punkte#(e#-1,r#-1)<>punkte#(e#,r#) THEN COLOR punkte#(e#,r#) GRAPHMODE 1 DRAW e#-1,r#-1 ENDIF IF punkte#(e#-1,r#)<>punkte#(e#,r#) THEN COLOR punkte#(e#,r#) GRAPHMODE 1 DRAW e#-1,r# ENDIF IF punkte#(e#-1,r#+1)<>punkte#(e#,r#) THEN COLOR punkte#(e#,r#) GRAPHMODE 1 DRAW e#-1,r#+1 ENDIF IF punkte#(e#,r#-1)<>punkte#(e#,r#) THEN COLOR punkte#(e#,r#) GRAPHMODE 1 DRAW e#,r#-1 ENDIF IF punkte#(e#,r#+1)<>punkte#(e#,r#) THEN COLOR punkte#(e#,r#) GRAPHMODE 1 DRAW e#,r#+1 ENDIF IF punkte#(e#+1,r#-1)<>punkte#(e#,r#) THEN COLOR punkte#(e#,r#) GRAPHMODE 1 DRAW e#+1,r#-1 ENDIF IF punkte#(e#+1,r#)<>punkte#(e#,r#) THEN COLOR punkte#(e#,r#) GRAPHMODE 1 DRAW e#+1,r# ENDIF IF punkte#(e#+1,r#+1)<>punkte#(e#,r#) THEN COLOR punkte#(e#,r#) GRAPHMODE 1 DRAW e#+1,r#+1 ENDIF IF POINT(e#,r#)=punkte#(e#,r#) THEN COLOR 0 DRAW e#,r# ENDIF ENDIF NEXT e# NEXT r# GET 0,0,xachse#,yachse#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT UNTIL MOUSEK=0 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 GRAPHMODE g_m# IF MOUSEK=1 PUT mx2#,my2#,k_bild$,p_m# ENDIF GRAPHMODE 1 ERASE punkte#() DEFMOUSE 0 DEFFILL 1 COLOR 1 ENDIF IF farbe1$="J" OR (waag#=6 AND senk#=6) THEN PAUSE 10 ALERT 2,"WAS WOLLEN|SIE ERSTELLEN",1,"TORT/BALK|FLUß",flus# IF flus#=1 THEN IF esta#=1 THEN ALERT 2,"WOLLEN SIE EINE|NEUE STATISTIK ERSTELLEN",1,"JA|NEIN",neus# IF neus#=1 THEN ERASE partei$() ERASE werte#() ERASE prozent#() ENDIF ELSE neus#=1 ENDIF maximal#=0 SGET screen2$ ALERT 2,"SOLLEN PROZENTE|ANGEZEIGT WERDEN",1,"JA|NEIN",pro# CLS IF neus#=1 THEN REPEAT PRINT AT(1,1);"WIE VIELE WERTE"; INPUT stucke# UNTIL stucke#<=32 DIM partei$(stucke#) DIM werte#(stucke#) DIM prozent#(stucke#) PRINT AT(1,2);"WIE LAUTET DIE EINHEIT"; INPUT einheit$ geswert#=0 FOR eingabe#=1 TO stucke# CLS PRINT AT(1,1);"WIE HEISST NR.";eingabe#; INPUT partei$(eingabe#) PRINT AT(1,2);"WIEVIEL ";einheit$;" BEKOMMT ";partei$(eingabe#); INPUT werte#(eingabe#) IF werte#(eingabe#)>=0 THEN IF werte#(eingabe#)>maximal# THEN maximal#=werte#(eingabe#) ENDIF ELSE IF (-1)*werte#(eingabe#)>maximal# THEN maximal#=(-1)*werte#(eingabe#) ENDIF ENDIF geswert#=geswert#+werte#(eingabe#) NEXT eingabe# maximal1#=maximal# ELSE maximal#=maximal1# ENDIF CLS ALERT 2,"WAS WOLLEN SIE ERSTELLEN",1,"TORTE|BALKEN",sta# IF sta#=1 THEN REPEAT REPEAT UNTIL MOUSEK=0 GRAPHMODE 3 HIDEM REPEAT stax#=MOUSEX CIRCLE 160,100,stax#-100 REPEAT testx#=MOUSEX EXIT IF MOUSEK=2 UNTIL testx#<>stax# OR MOUSEK<>0 CIRCLE 160,100,stax#-100 UNTIL MOUSEK<>0 SHOWM rad#=stax#-100 GRAPHMODE 1 winkel1#=0 winkel2#=0 CLS FOR rechnen#=1 TO stucke# prozent#(rechnen#)=(werte#(rechnen#)/geswert#)*100 winkel2#=winkel1#+(prozent#(rechnen#)/100)*3600 DEFFILL rechnen#,komp1#,komp2# PCIRCLE 160,100,rad#,winkel1#,winkel2# DEFLINE 1 CIRCLE 160,100,rad#,winkel1#,winkel2# winkel1#=winkel2# NEXT rechnen# DEFTEXT 1,,,4 rads#=rad# FOR rechnen#=1 TO stucke# IF rechnen#=1 THEN GRAPHMODE 1 ELSE GRAPHMODE 2 ENDIF prozent#(rechnen#)=INT(((werte#(rechnen#)/geswert#)*100)*100)/100 winkel2#=winkel1#+(prozent#(rechnen#)/100)*3600 winkel3#=winkel1#+((winkel2#-winkel1#)/2) rech1#=RAD(winkel3#/10-90) xsch#=SIN(rech1#)*rads# ysch#=COS(rech1#)*rads# neuz$=STR$(werte#(rechnen#))+" "+einheit$ neuz1$=STR$(prozent#(rechnen#))+"%" TEXT 160-xsch#,100-ysch#,partei$(rechnen#) TEXT 160-xsch#,100-ysch#+6,neuz$ IF pro#=1 THEN TEXT 160-xsch#,100-ysch#+12,neuz1$ ENDIF winkel1#=winkel2# NEXT rechnen# REPEAT UNTIL MOUSEK=0 REPEAT UNTIL MOUSEK<>0 IF MOUSEK=1 THEN ALERT 2,"ANDERE GRÖßE ZEICHNEN",1,"NEIN|JA",erneut# ELSE erneut#=1 ENDIF UNTIL erneut#=1 ELSE CLS IF geswert#<>0 THEN FOR rechnen#=1 TO stucke# prozent#(rechnen#)=(werte#(rechnen#)/geswert#)*100 NEXT rechnen# ENDIF maximal#=(1+VAL(LEFT$(STR$(maximal#),1)))*10^(LEN(STR$(maximal#))-1) REPEAT CLS DEFLINE 1,1,0,0 GRAPHMODE 3 DEFMOUSE 5 REPEAT mx2#=MOUSEX my2#=MOUSEY IF my2#<50 THEN my2#=50 ENDIF BOX 20,10,mx2#,my2# REPEAT testx#=MOUSEX testy#=MOUSEY IF testy#<50 THEN testy#=50 ENDIF UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 BOX 20,10,mx2#,my2# UNTIL MOUSEK<>0 REPEAT UNTIL MOUSEK=0 diffx#=INT(mx2#/stucke#) okay#=0 teil#=1 REPEAT IF INT(my2#/(maximal#/teil#))<2 THEN teil#=teil#*10 ELSE okay#=1 ENDIF UNTIL okay#=1 diffy#=INT(my2#/(maximal#/teil#)) GRAPHMODE 1 DEFLINE 2 DEFTEXT 1,,,4 FOR x#=1 TO diffx#*stucke#+diffx# STEP diffx# GRAPHMODE 1 DRAW x#+19,10 TO x#+19,diffy#*(maximal#/teil#)+9 TO x#+19-diffx#/6,diffy#*(maximal#/teil#)+9+diffx#/6 NEXT x# FOR y#=1 TO diffy#*(maximal#/teil#)+diffy# STEP diffy# IF (y# DIV diffy#) MOD 10=0 OR diffy#>6 THEN TEXT 1,y#+10,maximal#-(teil#*INT((y#/diffy#))) DEFLINE 2 ELSE DEFLINE 3 ENDIF DRAW 20,y#+9 TO diffx#*stucke#+19,y#+9 NEXT y# DEFLINE 1,1,0,1 DRAW 20,diffy#*(maximal#/teil#)+10 TO 20,10 DRAW 20,diffy#*(maximal#/teil#)+10 TO diffx#*stucke#+20,diffy#*(maximal#/teil#)+10 TEXT 1,5,einheit$ DEFLINE 1,1,0,0 DRAW 20,diffy#*(maximal#/teil#)+10 TO 20-diffx#/6,diffy#*(maximal#/teil#)+10+diffx#/6 TO diffx#*stucke#+20-diffx#/6,diffy#*(maximal#/teil#)+10+diffx#/6 TO diffx#*stucke#+20,diffy#*(maximal#/teil#)+10 DIM polyx#(4) DIM polyy#(4) DIM polyx1#(4) DIM polyy1#(4) polyx#(0)=(diffx#+20-diffx#)+diffx#/6-1 polyy#(0)=(diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy# polyx#(1)=(diffx#+20-diffx#)+diffx#/6+diffx#/6-1 polyy#(1)=(diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#-diffx#/6 polyx#(2)=diffx#+20-(diffx#/6)*2+diffx#/6 polyy#(2)=(diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#-diffx#/6 polyx#(3)=diffx#+20-(diffx#/6)*2 polyy#(3)=(diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy# polyx#(4)=polyx#(0) polyy#(4)=polyy#(0) polyx1#(0)=polyx#(3) polyy1#(0)=polyy#(3) polyx1#(1)=polyx#(2) polyy1#(1)=polyy#(2) polyx1#(2)=polyx1#(1) polyy1#(2)=(diffy#*(maximal#/teil#)+10-diffx#/6) polyx1#(3)=polyx1#(0) polyy1#(3)=diffy#*(maximal#/teil#)+10 polyx1#(4)=polyx1#(0) polyy1#(4)=polyy1#(0) COLOR 1 GRAPHMODE 1 FOR x#=1 TO diffx#*stucke#+diffx# STEP diffx# IF x#<>1 THEN IF INT(x#/diffx#)<16 THEN DEFFILL INT(x#/diffx#),komp1#,komp2# ELSE DEFFILL INT(x#/diffx#)-14,komp1#,komp2# ENDIF PBOX (x#+19-diffx#)+diffx#/6-1,(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#+diffx#/6,x#+19-(diffx#/6)*2,diffy#*(maximal#/teil#)+10+diffx#/6 COLOR 1 DEFLINE 1 BOX (x#+19-diffx#)+diffx#/6-1,(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#+diffx#/6,x#+19-(diffx#/6)*2,diffy#*(maximal#/teil#)+10+diffx#/6 IF werte#(INT(x#/diffx#))>=0 THEN POLYFILL 5,polyx#(),polyy#() OFFSET x#-diffx#-1,(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#-((diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#)+1+diffx#/6 POLYLINE 5,polyx#(),polyy#() OFFSET x#-diffx#-1,(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#-((diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#)+1+diffx#/6 ELSE POLYFILL 5,polyx#(),polyy#() OFFSET x#-diffx#-1,(diffy#*(maximal#/teil#)+10)-((diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#)+1+diffx#/6 POLYLINE 5,polyx#(),polyy#() OFFSET x#-diffx#-1,(diffy#*(maximal#/teil#)+10)-((diffy#*(maximal#/teil#)+10)-(werte#(1)/teil#)*diffy#)+1+diffx#/6 ENDIF polyy1#(0)=(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#+1 polyy1#(4)=polyy1#(0) polyy1#(1)=(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#-diffx#/6+1 POLYFILL 5,polyx1#(),polyy1#() OFFSET x#-diffx#-1,diffx#/6 POLYLINE 5,polyx1#(),polyy1#() OFFSET x#-diffx#-1,diffx#/6 IF INT(x#/diffx#)=1 GRAPHMODE 1 COLOR 0 DRAW polyx1#(3),polyy1#(3)+diffx#/6 TO polyx1#(3),polyy1#(4)+diffx#/6 TO polyx#(0),polyy1#(4)+diffx#/6 DRAW polyx1#(3),polyy1#(4)+diffx#/6 TO polyx1#(1),polyy1#(1)+diffx#/6 COLOR 1 ENDIF IF pro#=1 THEN IF INT(x#/diffx#)<>1 THEN GRAPHMODE 2 ENDIF IF geswert#<>0 THEN prozent#(INT(x#/diffx#))=INT(((werte#(INT(x#/diffx#))/geswert#)*100)*100)/100 ENDIF neuz1$=STR$(prozent#(INT(x#/diffx#)))+"%" TEXT (x#+7-diffx#)+2*(diffx#/5),diffx#/6+7+(diffy#*(maximal#/teil#)+10)-(werte#(INT(x#/diffx#))/teil#)*diffy#,neuz1$ GRAPHMODE 1 ENDIF ENDIF NEXT x# FOR x#=1 TO diffx#*stucke#+diffx# STEP diffx# GRAPHMODE 1 IF LEN(partei$(INT(x#/diffx#)))*6<diffx# THEN DEFTEXT 1,0,0 TEXT (x#+19-(diffx#/2))-((LEN(partei$(INT(x#/diffx#))))/2)*6,diffy#*(maximal#/teil#)+18+diffx#/6,partei$(INT(x#/diffx#)) ELSE DEFTEXT 1,0,2700 TEXT (x#+19)-diffx#/2-diffx#/6,diffy#*(maximal#/teil#)+18+diffx#/6-3,partei$(INT(x#/diffx#)) ENDIF NEXT x# DEFTEXT 1,0,0 ERASE polyx#() ERASE polyy#() ERASE polyx1#() ERASE polyy1#() GRAPHMODE 1 REPEAT UNTIL MOUSEK=0 REPEAT UNTIL MOUSEK<>0 IF MOUSEK=1 THEN ALERT 2,"ANDERE GRÖßE ZEICHNEN",1,"NEIN|JA",erneut# ELSE erneut#=1 ENDIF UNTIL erneut#=1 ENDIF GRAPHMODE 1 DEFMOUSE 5 DEFLINE 1,1,0,0 REPEAT UNTIL MOUSEK=0 SHOWM REPEAT mx#=MOUSEX my#=MOUSEY UNTIL MOUSEK<>0 REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT UNTIL MOUSEK=0 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 GRAPHMODE g_m# IF MOUSEK=1 PUT mx2#,my2#,k_bild$,p_m# ENDIF esta#=1 ENDIF IF flus#=2 THEN SGET screen2$ CLS PRINT AT(1,1);"WIE LAUTET DER HÖCHSTE Y-WERT"; INPUT yhoch# PRINT AT(1,2);"WIE LAUTET DER HÖCHSTE X-WERT"; INPUT xhoch# PRINT AT(1,3);"IN WELCHEN ABSTÄNDEN WERDEN " PRINT AT(1,4);"DIE X-WERTE ANGEGEBEN"; INPUT xab# PRINT AT(1,5);"EINHEIT Y"; INPUT yei$ PRINT AT(1,6);"EINHEIT X"; INPUT xei$ maxi#=(1+VAL(LEFT$(STR$(yhoch#),1)))*10^(LEN(STR$(yhoch#))-1) CLS REPEAT GRAPHMODE 3 REPEAT mx2#=MOUSEX my2#=MOUSEY IF my2#<50 THEN my2#=50 ENDIF BOX 20,10,mx2#,my2# REPEAT testx#=MOUSEX testy#=MOUSEY IF testy#<50 THEN testy#=50 ENDIF UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 BOX 20,10,mx2#,my2# UNTIL MOUSEK<>0 REPEAT UNTIL MOUSEK=0 CLS okay#=0 tei#=1 REPEAT IF INT((my2#-10)/(maxi#/tei#))<2 THEN tei#=tei#*10 ELSE okay#=1 ENDIF UNTIL okay#=1 ya#=INT((my2#-10)/(maxi#/tei#)) xa#=INT((mx2#-20)/xhoch#) IF xa#<=0 THEN xa#=1 ENDIF IF ya#<=0 THEN ya#=1 ENDIF DEFTEXT 1,,,4 GRAPHMODE 1 DEFLINE 2 FOR x#=0 TO xa#*xhoch# STEP xab#*xa# DRAW 20+x#,10 TO 20+x#,10+ya#*(maxi#/tei#) TEXT 17+x#,16+ya#*(maxi#/tei#),INT(x#/xa#) NEXT x# FOR y#=0 TO ya#*(maxi#/tei#) STEP ya# IF (y# DIV ya#) MOD 10=0 OR ya#>6 THEN TEXT 0,y#+10,maxi#-INT((y#/ya#))*tei# DEFLINE 2 ELSE DEFLINE 3 ENDIF DRAW 20,y#+10 TO 20+xa#*xhoch#,y#+10 NEXT y# DEFLINE 1,1,0,1 DRAW 20,ya#*(maxi#/tei#)+10 TO 20,10 DRAW 20,ya#*(maxi#/tei#)+10 TO 20+xa#*xhoch#,ya#*(maxi#/tei#)+10 DEFLINE 1,1,0,0 TEXT 0,4,yei$ TEXT 20+xa#*xhoch#,ya#*(maxi#/tei#)+22,xei$ REPEAT UNTIL MOUSEK<>0 IF MOUSEK=1 THEN ALERT 2,"NEUE GRÖßE ZEICHNEN",1,"NEIN|JA",gro# ELSE gro#=1 ENDIF UNTIL gro#=1 DEFLINE 1,1,0,0 linf#=0 REPEAT linf#=linf#+1 FOR x#=0 TO xa#*xhoch# STEP xa#*xab# REPEAT UNTIL MOUSEK=0 REPEAT GRAPHMODE 3 sty#=MOUSEY stx#=MOUSEX IF MOUSEX<>20+x# THEN SETMOUSE 20+x#,sty# ENDIF IF INT(maxi#-((sty#-10)/ya#)*tei#)<0 THEN SETMOUSE 20+x#,(maxi#/tei#)*ya#+10 ENDIF TEXT 0,172,"X:" TEXT 0,178,INT(x#/xa#) TEXT 0,184,"Y:" TEXT 0,190,maxi#-((sty#-10)/ya#)*tei# REPEAT SHOWM testy#=MOUSEY testx#=MOUSEX UNTIL testy#<>sty# OR testx#<>stx# OR MOUSEK<>0 TEXT 0,172,"X:" TEXT 0,178,INT(x#/xa#) TEXT 0,184,"Y:" TEXT 0,190,maxi#-((sty#-10)/ya#)*tei# UNTIL MOUSEK<>0 EXIT IF MOUSEK=2 IF x#<>0 THEN COLOR linf# GRAPHMODE 1 DRAW x#+20,sty# TO x#+20-xa#*xab#,sty1# GRAPHMODE 3 COLOR 1 ENDIF sty1#=sty# NEXT x# REPEAT UNTIL MOUSEK=0 REPEAT UNTIL MOUSEK<>0 IF MOUSEK=1 THEN ALERT 2,"NOCH EIN LINIE",1,"JA|NEIN",lin# ELSE lin#=2 ENDIF UNTIL lin#=2 GRAPHMODE 1 DEFMOUSE 5 DEFLINE 1,1,0,0 REPEAT UNTIL MOUSEK=0 SHOWM REPEAT mx#=MOUSEX my#=MOUSEY UNTIL MOUSEK<>0 REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT UNTIL MOUSEK=0 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 GRAPHMODE g_m# IF MOUSEK=1 PUT mx2#,my2#,k_bild$,p_m# ENDIF ENDIF ENDIF IF farbe1$="3" OR (waag#=7 AND senk#=1) THEN DEFFILL 0 SGET screen2$ PAUSE 5 DEFMOUSE 5 REPEAT UNTIL MOUSEK=1 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY IF mx1#-mx#>250 THEN mx1#=mx#+250 ENDIF IF my1#-my#>180 THEN my1#=my#+180 ENDIF IF mx#>mx1# THEN mx1#=mx# ENDIF IF my#>my1# THEN my1#=my# ENDIF GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY IF testx#-mx#>250 THEN testx#=mx#+250 ENDIF IF testy#-my#>180 THEN testy#=my#+180 ENDIF IF mx#>testx# THEN testx#=mx# ENDIF IF my#>testy# THEN testy#=my# ENDIF EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,kopierb$ PUT 0,0,kopierb$ xachse#=mx1#-mx# yachse#=my1#-my# DIM punkte#(xachse#,yachse#) FOR q#=0 TO xachse# FOR w#=0 TO yachse# punkte#(q#,w#)=POINT(q#,w#) NEXT w# NEXT q# CLS PAUSE 5 GRAPHMODE 3 SETMOUSE 160,0 radius#=(SQR((xachse#/2)^2+(yachse#/2)^2)) gehw#=(DEG(ASIN((yachse#/2)/radius#))) HIDEM REPEAT mx50#=MOUSEX-30 my50#=MOUSEY-30 SETDRAW 160,100,0 DRAW "PU TT ",my50#*3+gehw#," FD ",radius#,"PD TT 0" DRAW "RT ",my50#*3," BK ",xachse#,"RT 90 BK ",yachse#,"RT 90 BK",xachse#,"RT 90 BK",yachse#,"" REPEAT testx#=MOUSEX-30 testy#=MOUSEY-30 EXIT IF MOUSEK=2 UNTIL testx#<>mx50# OR testy#<>my50# OR MOUSEK<>0 SETDRAW 160,100,0 DRAW "PU TT ",my50#*3+gehw#," FD ",radius#,"PD TT 0" DRAW "RT ",my50#*3," BK ",xachse#,"RT 90 BK ",yachse#,"RT 90 BK",xachse#,"RT 90 BK",yachse#,"" UNTIL MOUSEK=1 OR MOUSEK=2 wink#=my50#*3 GRAPHMODE 1 REPEAT UNTIL MOUSEK=0 FOR e#=0 TO xachse# SETDRAW 160,100,0 DRAW "PU TT ",my50#*3+gehw#," FD ",radius#,"PD TT 0" DRAW "PU RT ",wink#," BK",e#,"RT 90" FOR r#=0 TO yachse# DRAW "BK1 CO ",punkte#(e#,r#)," PD" COLOR punkte#(e#,r#) DRAW DRAW(0),DRAW(1) NEXT r# NEXT e# SHOWM REPEAT UNTIL MOUSEK=1 OR MOUSEK=2 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT UNTIL MOUSEK=0 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 GRAPHMODE g_m# IF MOUSEK=1 PUT mx2#,my2#,k_bild$,p_m# ENDIF GRAPHMODE 1 ERASE punkte#() DEFMOUSE 0 DEFFILL 1 COLOR 1 ENDIF IF farbe1$="V" OR (waag#=5 AND senk#=1) THEN DEFFILL 0 SGET screen2$ PAUSE 5 DEFMOUSE 5 REPEAT UNTIL MOUSEK=1 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY IF mx1#-mx#>158 THEN mx1#=mx#+158 ENDIF IF my1#-my#>98 THEN my1#=my#+98 ENDIF IF mx#>mx1# THEN mx1#=mx# ENDIF IF my#>my1# THEN my1#=my# ENDIF GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,kopierb$ PUT 0,0,kopierb$ xachse#=mx1#-mx# yachse#=my1#-my# DIM punkte#(xachse#,yachse#) FOR q#=0 TO xachse# FOR w#=0 TO yachse# punkte#(q#,w#)=POINT(q#,w#) NEXT w# NEXT q# GRAPHMODE 1 PBOX 0,0,xachse#*2,yachse#*2 xachse1#=xachse#*2 yachse1#=yachse#*2 FOR q#=0 TO xachse1# FOR w#=0 TO yachse1# COLOR punkte#(q#/2,w#/2) DEFFILL punkte#(q#/2,w#/2) BOX q#-1,w#-1,q#,w# NEXT w# NEXT q# GET 0,0,xachse1#,yachse1#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 GRAPHMODE g_m# IF MOUSEK=1 PUT mx2#,my2#,k_bild$,p_m# ENDIF GRAPHMODE 1 ERASE punkte#() DEFMOUSE 0 DEFFILL 1 COLOR 1 ENDIF IF farbe1$="2" OR (waag#=6 AND senk#=1) THEN DEFFILL 0 SGET screen2$ PAUSE 5 DEFMOUSE 5 REPEAT UNTIL MOUSEK=1 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY IF mx1#-mx#>290 THEN mx1#=mx#+290 ENDIF IF my1#-my#>200 THEN my1#=my#+200 ENDIF IF mx#>mx1# THEN mx1#=mx# ENDIF IF my#>my1# THEN my1#=my# ENDIF GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,kopierb$ PUT 0,0,kopierb$ xachse#=mx1#-mx# yachse#=my1#-my# DIM punkte#(xachse#,yachse#) FOR q#=0 TO xachse# FOR w#=0 TO yachse# punkte#(q#,w#)=POINT(q#,w#) NEXT w# NEXT q# GRAPHMODE 1 PBOX 0,0,xachse#,yachse# xachse1#=INT(xachse#/2) yachse1#=INT(yachse#/2) FOR q#=0 TO xachse1# FOR w#=0 TO yachse1# IF punkte#(q#*2,w#*2)<>0 THEN COLOR punkte#(q#*2,w#*2) DRAW q#,w# ENDIF NEXT w# NEXT q# GET 0,0,xachse1#,yachse1#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 GRAPHMODE g_m# IF MOUSEK=1 PUT mx2#,my2#,k_bild$,p_m# ENDIF GRAPHMODE 1 ERASE punkte#() DEFMOUSE 0 PUT 0,0,leiste$ ENDIF IF farbe1$="1" OR (waag#=7 AND senk#=3) THEN ALERT 2,"WAS WOLLEN SIE ZEICHNEN",1,"PRISMEN|PYRAMIDEN",prpy# DIM xecken#(30) DIM yecken#(30) DEFMOUSE 5 PAUSE 5 REPEAT EXIT IF MOUSEK=2 GRAPHMODE 1 REPEAT farbe$=INKEY$ IF farbe$<>"" THEN GOSUB farbe ENDIF IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF mx#=MOUSEX my#=MOUSEY UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 ezahl#=1 xecken#(0)=mx# yecken#(0)=my# COLOR farbe# DEFFILL farbe# REPEAT WHILE MOUSEK=0 farbe$=INKEY$ IF farbe$<>"" THEN GOSUB farbe ENDIF IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GRAPHMODE 3 mx2#=MOUSEX my2#=MOUSEY xecken#(ezahl#)=mx2# yecken#(ezahl#)=my2# POLYLINE ezahl#+1,xecken#(),yecken#() REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 POLYLINE ezahl#+1,xecken#(),yecken#() WEND EXIT IF MOUSEK=2 ezahl#=ezahl#+1 REPEAT UNTIL MOUSEK=0 UNTIL MOUSEK=2 xecken#(ezahl#)=xecken#(0) yecken#(ezahl#)=yecken#(0) GRAPHMODE 1 POLYLINE ezahl#+1,xecken#(),yecken#() PAUSE 5 REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx3#=MOUSEX-160 my3#=MOUSEY-100 GRAPHMODE 3 FOR verb#=0 TO ezahl#-1 IF prpy#=1 THEN DRAW xecken#(verb#),yecken#(verb#) TO xecken#(verb#)+mx3#,yecken#(verb#)+my3# ELSE DRAW xecken#(verb#),yecken#(verb#) TO mx3#+160,my3#+100 ENDIF NEXT verb# IF prpy#=1 THEN POLYLINE ezahl#+1,xecken#(),yecken#() OFFSET mx3#,my3# ENDIF REPEAT testx#=MOUSEX-160 testy#=MOUSEY-100 EXIT IF MOUSEK=2 UNTIL testx#<>mx3# OR testy#<>my3# OR MOUSEK<>0 FOR verb#=0 TO ezahl#-1 IF prpy#=1 THEN DRAW xecken#(verb#),yecken#(verb#) TO xecken#(verb#)+mx3#,yecken#(verb#)+my3# ELSE DRAW xecken#(verb#),yecken#(verb#) TO mx3#+160,my3#+100 ENDIF NEXT verb# IF prpy#=1 THEN POLYLINE ezahl#+1,xecken#(),yecken#() OFFSET mx3#,my3# ENDIF WEND GRAPHMODE 1 FOR verb#=0 TO ezahl#-1 IF prpy#=1 THEN DRAW xecken#(verb#),yecken#(verb#) TO xecken#(verb#)+mx3#,yecken#(verb#)+my3# ELSE DRAW xecken#(verb#),yecken#(verb#) TO mx3#+160,my3#+100 ENDIF NEXT verb# IF prpy#=1 THEN POLYLINE ezahl#+1,xecken#(),yecken#() OFFSET mx3#,my3# ENDIF REPEAT UNTIL MOUSEK=0 UNTIL MOUSEK=2 GRAPHMODE 1 DEFLINE 1,1 DEFMOUSE 0 COLOR 1 DEFFILL 1 ERASE xecken#() ERASE yecken#() ENDIF IF farbe1$="Y" OR (waag#=6 AND senk#=3) THEN DEFMOUSE 5 PAUSE 5 REPEAT mx#=MOUSEX my#=MOUSEY UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GRAPHMODE 3 mx1#=MOUSEX my1#=MOUSEY DRAW mx#,my# TO mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 DRAW mx#,my# TO mx1#,my1# WEND GRAPHMODE 1 DRAW mx#,my# TO mx1#,my1# REPEAT REPEAT UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx2#=MOUSEX my2#=MOUSEY GRAPHMODE 3 DRAW mx1#,my1# TO mx2#,my2# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 DRAW mx1#,my1# TO mx2#,my2# farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF WEND GRAPHMODE 1 DRAW mx1#,my1# TO mx2#,my2# mx1#=mx2# my1#=my2# UNTIL MOUSEK=2 DRAW mx2#,my2# TO mx#,my# GRAPHMODE 1 DEFLINE 1,1 DEFMOUSE 0 COLOR 1 DEFFILL 1 ENDIF IF farbe1$="Z" OR (waag#=5 AND senk#=3) THEN anz#=1 DEFMOUSE 5 PAUSE 5 REPEAT farbe$=INKEY$ IF farbe$="(" THEN anz#=anz#+1 ENDIF IF farbe$=")" AND anz#>1 THEN anz#=anz#-1 ENDIF IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GOSUB farbe REPEAT farbe$=INKEY$ IF farbe$="(" THEN anz#=anz#+1 ENDIF IF farbe$=")" AND anz#>1 THEN anz#=anz#-1 ENDIF IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GOSUB farbe UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="(" THEN anz#=anz#+1 ENDIF IF farbe$=")" AND anz#>1 THEN anz#=anz#-1 ENDIF GRAPHMODE 3 mx1#=MOUSEX my1#=MOUSEY entf#=mx1#-mx# entf2#=my1#-my# str#=entf#/anz# str2#=entf2#/anz# BOX mx#,my#,mx1#,my1# FOR a#=1 TO anz#-1 DRAW mx#,my#+a#*str2# TO mx#+entf#,my#+a#*str2# DRAW mx#+a#*str#,my# TO mx#+a#*str#,my#+entf2# NEXT a# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# FOR a#=1 TO anz#-1 DRAW mx#,my#+a#*str2# TO mx#+entf#,my#+a#*str2# DRAW mx#+a#*str#,my# TO mx#+a#*str#,my#+entf2# NEXT a# WEND EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 GRAPHMODE 1 BOX mx#,my#,mx1#,my1# FOR a#=1 TO anz# FOR b#=1 TO anz# DRAW mx#,my#+a#*str2# TO mx#+entf#,my#+a#*str2# DRAW mx#+a#*str#,my# TO mx#+a#*str#,my#+entf2# NEXT b# NEXT a# UNTIL MOUSEK=2 GRAPHMODE 1 DEFLINE 1,1 DEFMOUSE 0 COLOR 1 DEFFILL 1 ENDIF IF farbe1$="I" OR (waag#=3 AND senk#=3) THEN DEFMOUSE 5 PAUSE 5 REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GRAPHMODE 3 mx1#=MOUSEX my1#=MOUSEY DRAW mx#,my# TO mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 DRAW mx#,my# TO mx1#,my1# WEND EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 GRAPHMODE 1 DRAW mx#,my# TO mx1#,my1# REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GRAPHMODE 3 mx2#=MOUSEX my2#=MOUSEY DRAW mx#,my# TO mx2#,my2# TO mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 DRAW mx#,my# TO mx2#,my2# TO mx1#,my1# WEND EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 PAUSE 5 GRAPHMODE 1 DRAW mx#,my# TO mx2#,my2# TO mx1#,my1# TO mx#,my# UNTIL MOUSEK=2 GRAPHMODE 1 DEFLINE 1,1 DEFMOUSE 0 COLOR 1 DEFFILL 1 ENDIF IF farbe1$="P" OR (waag#=4 AND senk#=3) THEN DEFMOUSE 5 PAUSE 5 REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GRAPHMODE 3 mx1#=MOUSEX my1#=MOUSEY DRAW mx#,my# TO mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 DRAW mx#,my# TO mx1#,my1# WEND EXIT IF MOUSEK=2 GRAPHMODE 1 DRAW mx#,my# TO mx1#,my1# REPEAT UNTIL MOUSEK=1 OR MOUSEK=2 REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GRAPHMODE 3 mx2#=MOUSEX my2#=MOUSEY entfx#=mx1#-mx# entfy#=my1#-my# DRAW mx#,my# TO mx2#,my2# TO mx2#+entfx#,my2#+entfy# TO mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 DRAW mx#,my# TO mx2#,my2# TO mx2#+entfx#,my2#+entfy# TO mx1#,my1# WEND EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 GRAPHMODE 1 DRAW mx#,my# TO mx2#,my2# TO mx2#+entfx#,my2#+entfy# TO mx1#,my1# TO mx#,my# UNTIL MOUSEK=2 GRAPHMODE 1 DEFLINE 1,1 DEFMOUSE 0 COLOR 1 DEFFILL 1 ENDIF IF farbe1$="N" OR (waag#=2 AND senk#=3) THEN DEFMOUSE 5 PAUSE 5 n#=3 w#=360/n# REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="(" THEN n#=n#+1 ENDIF IF farbe$=")" AND n#>3 THEN n#=n#-1 ENDIF IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF w#=360/n# REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="(" THEN n#=n#+1 ENDIF IF farbe$=")" AND n#>3 THEN n#=n#-1 ENDIF IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF w#=360/n# UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 mx#=MOUSEX my#=MOUSEY WHILE MOUSEK=0 farbe$=INKEY$ GOSUB farbe IF farbe$="(" THEN n#=n#+1 ENDIF IF farbe$=")" AND n#>3 THEN n#=n#-1 ENDIF IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF w#=360/n# GRAPHMODE 3 mx1#=MOUSEX my1#=MOUSEY*3 SETDRAW mx#,my#,0 DRAW "TT",my1# FOR m#=1 TO n# DRAW "PD FD ",mx1#-mx#," RT ";w#;"" NEXT m# REPEAT testx#=MOUSEX testy#=MOUSEY*3 EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 SETDRAW mx#,my#,0 DRAW "TT",my1# FOR m#=1 TO n# DRAW "PD FD ",mx1#-mx#," RT ";w#;"" NEXT m# WEND GRAPHMODE 1 SETDRAW mx#,my#,0 DRAW "TT",my1# FOR m#=1 TO n# DRAW "PD FD ",mx1#-mx#," RT ";w#;"" NEXT m# EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 GRAPHMODE 1 UNTIL MOUSEK=2 GRAPHMODE 1 DEFLINE 1,1 DEFMOUSE 0 COLOR 1 DEFFILL 1 ENDIF IF farbe1$="Ü" OR (waag#=1 AND senk#=4) THEN ALERT 2," WELCHEN RADIUS SOLL | DIE SPRÜHDOSE HABEN ",1,"12|VARIABEL",lupe# IF lupe#=1 THEN durch#=12 ELSE HIDEM SETMOUSE 6,6 DEFFILL 0 SGET screen2$ CLS PAUSE 5 DEFMOUSE 5 REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX GRAPHMODE 3 CIRCLE mx1#,mx1#,mx1# PRINT AT(15,1);"RADIUS:" PRINT AT(23,1);USING "##",mx1# REPEAT testx#=MOUSEX EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR MOUSEK<>0 CIRCLE mx1#,mx1#,mx1# WEND durch#=mx1# SPUT screen2$ REPEAT UNTIL MOUSEK=0 DEFMOUSE 0 ENDIF HIDEM REPEAT farbe$=INKEY$ GOSUB farbe mx#=MOUSEX my#=MOUSEY GRAPHMODE 3 PLOT mx#,my# CIRCLE mx#,my#,durch# REPEAT testx#=MOUSEX testy#=MOUSEY UNTIL testx#<>mx# OR testy#<>my# OR MOUSEK<>0 PLOT mx#,my# CIRCLE mx#,my#,durch# DEFFILL farbe#,komp1#,komp2# IF MOUSEK=1 THEN WHILE MOUSEK=1 mx10#=MOUSEX my10#=MOUSEY REPEAT px#=RAND(durch#*2) py#=RAND(durch#*2) px#=px#-durch# py#=py#-durch# c#=SQR(px#^2+py#^2) UNTIL c#<=durch# GRAPHMODE 1 BOUNDARY 0 PBOX px#+mx10#,py#+my10#,px#+mx10#,py#+my10# BOUNDARY 1 GRAPHMODE 3 WEND ENDIF UNTIL MOUSEK=2 DEFFILL 1 SHOWM GRAPHMODE 1 ENDIF IF farbe1$="X" OR (waag#=7 AND senk#=2) THEN DIM buchs$(100) SGET zeile$ DEFFILL 0 GRAPHMODE 1 PBOX 0,0,319,199 DEFFILL 1 LOCATE 1,1 IF colour#=0 AND attr#=0 AND winkel1#=0 AND hohe#=0 AND zab#=0 THEN colour#=1 attr#=0 winkel1#=0 hohe#=6 zab#=10 ENDIF DEFTEXT 1,0,0,6 TEXT 3,15,"FARBE" BOX 10,20,30,40 TEXT 17,33,"+" BOX 10,45,30,65 TEXT 17,58,"-" TEXT 50,15,"STIL" BOX 55,20,75,40 TEXT 62,33,"+" BOX 55,45,75,65 TEXT 62,58,"-" TEXT 90,15,"WINKEL" BOX 100,20,120,40 TEXT 107,33,"+" BOX 100,45,120,65 TEXT 107,58,"-" TEXT 145,15,"GRÖßE" BOX 155,20,175,40 TEXT 162,33,"+" BOX 155,45,175,65 TEXT 162,58,"-" TEXT 200,15,"ABSTAND" BOX 210,20,230,40 TEXT 217,33,"+" BOX 210,45,230,65 TEXT 217,58,"-" DEFTEXT colour#,attr#,winkel1#,hohe# TEXT 220,135,"ABC" IF winkel1#=0 THEN TEXT 220,135+zab#,"123" ENDIF REPEAT REPEAT UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 IF MOUSEX>10 AND MOUSEX<30 AND MOUSEY>20 AND MOUSEY<40 AND colour#<15 THEN colour#=colour#+1 ENDIF IF MOUSEX>10 AND MOUSEX<30 AND MOUSEY>45 AND MOUSEY<65 AND colour#>0 THEN colour#=colour#-1 ENDIF IF MOUSEX>55 AND MOUSEX<75 AND MOUSEY>20 AND MOUSEY<40 AND attr#<31 THEN attr#=attr#+1 ENDIF IF MOUSEX>55 AND MOUSEX<75 AND MOUSEY>45 AND MOUSEY<65 AND attr#>0 THEN attr#=attr#-1 ENDIF IF MOUSEX>100 AND MOUSEX<120 AND MOUSEY>20 AND MOUSEY<40 AND winkel#<3 THEN winkel#=winkel#+1 winkel1#=winkel#*900 ENDIF IF MOUSEX>100 AND MOUSEX<120 AND MOUSEY>45 AND MOUSEY<65 AND winkel#>0 THEN winkel#=winkel#-1 winkel1#=winkel#*900 ENDIF IF MOUSEX>155 AND MOUSEX<175 AND MOUSEY>20 AND MOUSEY<40 AND hohe#<26 THEN hohe#=hohe#+1 ENDIF IF MOUSEX>155 AND MOUSEX<175 AND MOUSEY>45 AND MOUSEY<65 AND hohe#>1 THEN hohe#=hohe#-1 ENDIF IF MOUSEX>210 AND MOUSEX<230 AND MOUSEY>20 AND MOUSEY<40 THEN zab#=zab#+1 ENDIF IF MOUSEX>210 AND MOUSEX<230 AND MOUSEY>45 AND MOUSEY<65 AND zab#>1 THEN zab#=zab#-1 ENDIF DEFTEXT colour#,attr#,winkel1#,hohe# DEFFILL 0 GRAPHMODE 1 PBOX 0,66,319,199 DEFFILL 1 TEXT 220,135,"ABC" IF winkel1#=0 THEN TEXT 220,135+zab#,"123" ENDIF PAUSE 5 UNTIL MOUSEK=2 SPUT zeile$ DEFTEXT colour#,attr#,winkel1#,hohe# REPEAT textx#=MOUSEX texty#=MOUSEY UNTIL MOUSEK=1 textyur#=texty# IF MOUSEK=1 THEN GRAPHMODE 3 DRAW textx#-1,texty# TO textx#-1,texty#-2 REPEAT IF s#=1 THEN GRAPHMODE 3 DRAW textx#-1,texty# TO textx#-1,texty#-2 GRAPHMODE g_m# s#=2 ENDIF buchs1$=INKEY$ IF buchs1$<>"" THEN IF s#=0 THEN s#=1 ENDIF pruf#=ASC(RIGHT$(buchs1$,1)) IF pruf#=13 AND winkel1#=0 THEN texty#=texty#+zab# buchin#=buchin#+1 buchs#=0 ENDIF IF pruf#=8 THEN IF buchs#>0 THEN buchs$(buchin#)=LEFT$(buchs$(buchin#),buchs#-1) buchs$(buchin#)=buchs$(buchin#)+" " buchs#=buchs#-1 SPUT zeile$ FOR schri#=0 TO buchin# TEXT textx#,textyur#+schri#*zab#,buchs$(schri#) NEXT schri# buchs$(buchin#)=LEFT$(buchs$(buchin#),buchs#) ENDIF ELSE IF pruf#<>13 buchs$(buchin#)=buchs$(buchin#)+buchs1$ buchs#=buchs#+1 GRAPHMODE g_m# TEXT textx#,texty#,buchs$(buchin#) ENDIF ENDIF UNTIL MOUSEK=2 TEXT textx#,texty#,buchs$ buchs$="" buchs1$="" buchs#=0 buchin#=0 s#=0 ENDIF GRAPHMODE 3 abst#=0 DEFTEXT 1,0,0,6 ERASE buchs$() ENDIF IF farbe1$="T" OR (waag#=2 AND senk#=5) THEN GRAPHMODE 1 GET 0,0,319,199,komp$ DEFFILL 0 PBOX 0,0,319,199 DEFTEXT 2,9,0,6 TEXT 90,10,"TASTATURBELEGUNG:" DEFTEXT 1,0,0,4 TEXT 20,20,"URSPRUNGSFARBEN:" DEFTEXT 1,16,0,4 TEXT 20,30,"0=WEISS" DEFTEXT 1,0 TEXT 20,36,"1=SCHWARZ" DEFTEXT 2 TEXT 20,42,"2=ROT" DEFTEXT 3 TEXT 20,48,"3=HELLGRÜN" DEFTEXT 4 TEXT 20,54,"4=BLAU" DEFTEXT 5 TEXT 20,60,"5=ORANGE" DEFTEXT 6 TEXT 20,66,"6=HELLBLAU" DEFTEXT 7 TEXT 20,72,"7=BRAUN" DEFTEXT 8 TEXT 20,78,"8=GRAU" DEFTEXT 9 TEXT 20,84,"9=DUNKELGRAU" DEFFILL 1 GRAPHMODE 2 DEFTEXT 10 TEXT 20,90,":=TÜRKIS" GRAPHMODE 1 DEFTEXT 11 TEXT 20,96,";=DUNKELGRÜN" DEFTEXT 12 TEXT 20,102,"<=VIOLETT" DEFTEXT 13 TEXT 20,108,"==OCKER" DEFTEXT 14 TEXT 20,114,">=ROSA" DEFTEXT 15 DEFFILL 1 GRAPHMODE 2 TEXT 20,120,"?=GELB" GRAPHMODE 1 DEFTEXT 1 TEXT 20,120,"FUNKTIONEN:" TEXT 20,130,"L = BILD >L<ADEN" TEXT 20,136,"S = BILD >S<PEICHERN" TEXT 20,142,"J = STATISTIK" TEXT 20,148,"K = >K<REISE" TEXT 20,154,"R = >R<ECHTECKE" TEXT 20,160,"G = LINIEN (>G<ERADEN)" TEXT 20,166,"E = >E<LLIPSEN" TEXT 20,172,"H = FREI>H<ANDZEICHNEN" TEXT 20,178,"F = >F<LÄCHEN FÜLLEN" TEXT 20,184,"A = R>A<DIERGUMMI" TEXT 20,190,"Ö = BILD L>Ö<SCHEN" TEXT 154,20,"C = KOPIEREN (>C<OPY)" TEXT 154,26,"T = >T<ASTATURBELEGUNG" TEXT 154,32,"D = TASTATURBELEGUNG " TEXT 154,38," DRUCKEN" TEXT 154,44,"X = TE>X<T" TEXT 154,50,"Ü = SPR>Ü<HEN" TEXT 154,56,"N = >N<-ECK" TEXT 154,62,"P = >P<ARALLELOGRAMME" TEXT 154,68,"M = FÜLL>M<USTER WÄHLEN" TEXT 154,74,"I = DRE>I<ECKE" TEXT 154,80,"Z = NET>Z<" TEXT 154,86,"Y = POL>Y<GON" TEXT 154,92,"1 = PYRAMIDE" TEXT 154,98,"V = >V<ERGRÖßERN" TEXT 154,104,"2 = VERKLEINERN" TEXT 154,110,"U = GRAPHIKMOD>U<S" TEXT 154,116,"3 = DREHEN" TEXT 154,122,"4 = FARBEN EINSTELLEN" TEXT 154,128,"5 = SPEICHERPLATZ ANSEHEN" TEXT 154,134,"O = >O<UTLINE" TEXT 154,140,"6 = LUPE" TEXT 154,146,"W = SCH>W<ARZ/WEIß" TEXT 154,152,"7 = UMRIß" TEXT 154,158,"8 = MUSTEREDITOR" TEXT 155,164,"9 = X/Y-KOORDINATEN" TEXT 155,170,"Q = BLOCK WELLEN" TEXT 155,176,"HELP = ANLEITUNG" TEXT 155,182,"UNDO = LETZTEN ARBEITS-" TEXT 155,188," SCHRITT RÜCKGÄNGIG" TEXT 155,194," MACHEN" TEXT 155,199,"F1-F3 = BILD 1-3" WHILE MOUSEK=0 WEND PUT 0,0,komp$ GRAPHMODE 3 DEFFILL 1 PAUSE 5 ENDIF IF farbe1$="D" OR (waag#=3 AND senk#=5) THEN ALERT 2,"WOLLEN SIE DIE TASTATUR-|BELEGUNG ECHT AUSDRUCKEN",1,"JA|NEIN",er# IF er#=1 THEN LPRINT " TASTATURBELEGUNG:" LPRINT "" LPRINT " FARBEN: FUNKTIONEN:" LPRINT " 0=WEISS L=BILD >L<ADEN" LPRINT " 1=SCHWARZ S=BILD >S<PEICHERN" LPRINT " 2=ROT Ö=BILD L>Ö<SCHEN" LPRINT " 3=HELLGRÜN F=>F<LÄCHE FÜLLEN" LPRINT " 4=BLAU A=R>A<DIERGUMMI" LPRINT " 5=ORANGE C=KOPIEREN (>C<OPY)" LPRINT " 6=HELLBLAU K=>K<REISE" LPRINT " 7=BRAUN E=>E<LLIPSEN" LPRINT " 8=GRAU R=>R<ECHTECKE" LPRINT " 9=DUNKELGRAU G=LINIEN (>G<ERADEN)" LPRINT " :=TÜRKIS H=FREI>H<ANDZEICHNEN" LPRINT " ;=DUNKELGRÜN T=>T<ASTATURBELEGUNG" LPRINT " <=VIOLETT D=TASTATURBELEGUNG >D<RUCKEN" LPRINT " ==OCKER X=TE>X<T" LPRINT " >=ROSA Ü=SPR>Ü<HEN" LPRINT " ?=GELB N=>N<-ECK" LPRINT " P=>P<ARALLELOGRAMME" LPRINT " M=FÜLL>M<USTER WÄHLEN" LPRINT " I=DRE>I<ECKE" LPRINT " Z=NET>Z<" LPRINT " Y=POL>Y<GON" LPRINT " 1=PYRAMIDE" LPRINT " V=>V<ERGRÖßERN" LPRINT " 2=VERKLEINERN" LPRINT " U=GRAPHIKMOD>U<S" LPRINT " 3=DREHEN" LPRINT " 4=FARBEN EINSTELLEN" LPRINT " 5=SPEICHERPLATZ ANSEHEN" LPRINT " O=>O<UTLINE" LPRINT " 6=LUPE" LPRINT " W=SCH>W<ARZ/WEIß" LPRINT " 7=UMRIß" LPRINT " 8=MUSTEREDITOR" LPRINT " 9=X/Y-KOORDINATEN" LPRINT " Q=BLOCK WELLEN" LPRINT " J=STATISTIK" LPRINT " HELP=ANLEITUNG" LPRINT " UNDO=LETZTEN ARBEITSSCHRITT" LPRINT " RÜCKGÄNGIG MACHEN" LPRINT " F1=BILD 1" LPRINT " F2=BILD 2" LPRINT " F3=BILD 3" ENDIF ENDIF IF farbe1$="H" OR (waag#=2 AND senk#=2) THEN farbed#=1 REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF WHILE MOUSEK=1 farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF mx9#=MOUSEX my9#=MOUSEY GRAPHMODE 1 COLOR farbe# IF check#=1 THEN DRAW TO mx9#,my9# ELSE DRAW mx9#,my9# ENDIF check#=1 WEND check#=0 UNTIL MOUSEK=2 DEFFILL 1 COLOR 1 GRAPHMODE 3 DEFLINE 1,1 ENDIF IF farbe1$="A" OR (waag#=3 AND senk#=4) THEN DEFFILL 0 SGET screen2$ CLS PAUSE 5 DEFMOUSE 5 mx#=0 my#=0 REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY GRAPHMODE 3 BOX mx#,my#,mx1#,my1# PRINT AT(21,2);"X:" PRINT AT(21,3);"Y:" PRINT AT(23,2);USING "###",mx1# PRINT AT(23,3);USING "###",my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND xratz#=mx1#-mx# yratz#=my1#-my# SPUT screen2$ REPEAT UNTIL MOUSEK=0 DEFMOUSE 0 REPEAT HIDEM REPEAT mx4#=MOUSEX my4#=MOUSEY GRAPHMODE 3 BOX mx4#,my4#,mx4#+xratz#,my4#+yratz# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx4# OR testy#<>my4# OR MOUSEK<>0 BOX mx4#,my4#,mx4#+xratz#,my4#+yratz# UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 GRAPHMODE 1 DEFFILL 0 PBOX mx4#,my4#,mx4#+xratz#,my4#+yratz# REPEAT testx#=MOUSEX testy#=MOUSEY UNTIL testx#<>mx4# OR testy#<>my4# OR MOUSEK<>1 DEFFILL 1 UNTIL MOUSEK=2 SHOWM ENDIF IF farbe1$="Ö" OR (waag#=3 AND senk#=1) THEN ALERT 2,"WOLLEN SIE DAS BILD|ECHT LÖSCHEN",1,"JA|NEIN",b# IF b#=1 THEN GRAPHMODE 1 DEFFILL 0 PBOX 0,0,400,200 DEFFILL 1 GRAPHMODE 3 ENDIF ENDIF IF farbe1$="L" OR (waag#=1 AND senk#=1) THEN ALERT 2,"WAS FÜR EIN|FORMAT WOLLEN SIE LADEN",1,"DEGAS|LUP|CONVERT",b# IF b#=2 THEN ALERT 2,"URSPRUNGSFARBEN?",1,"JA|NEIN",c# FILESELECT "A:\*.LUP","",nlb$ IF nlb$<>"" THEN IF c#=1 THEN SETCOLOR 0,7,7,7 SETCOLOR 1,7,0,0 SETCOLOR 2,0,6,0 SETCOLOR 3,0,0,7 SETCOLOR 4,0,0,5 SETCOLOR 5,5,2,0 SETCOLOR 6,7,4,3 SETCOLOR 7,5,5,5 SETCOLOR 8,3,3,3 SETCOLOR 9,0,7,7 SETCOLOR 10,0,4,0 SETCOLOR 11,7,0,7 SETCOLOR 12,5,0,5 SETCOLOR 13,7,7,0 SETCOLOR 14,5,5,0 ENDIF BLOAD nlb$,XBIOS(2) ENDIF ENDIF IF b#=1 THEN FILESELECT "A:\*.pi1","",file$ IF file$<>"" THEN BLOAD file$,XBIOS(3)-34 VOID XBIOS(6,L:XBIOS(3)-32) ENDIF ENDIF IF b#=3 THEN SGET screen2$ zeipunkt#=0 GRAPHMODE 1 FILESELECT "A:\*.CON","",nlb$ IF nlb$<>"" THEN OPEN "I",#1,nlb$ INPUT #1,xachse# INPUT #1,yachse# zeeler#=0 FOR xload#=0 TO xachse# FOR yload#=0 TO yachse# zeeler#=zeeler#+1 IF xload#=0 AND yload#=0 THEN INPUT #1,zeipunkt# INPUT #1,oberze# ENDIF IF zeeler#=oberze#+1 THEN INPUT #1,zeipunkt# INPUT #1,oberze# zeeler#=1 ENDIF COLOR zeipunkt# PLOT xload#,yload# NEXT yload# NEXT xload# CLOSE #1 GET 0,0,xachse#,yachse#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 GRAPHMODE g_m# IF MOUSEK=1 PUT mx2#,my2#,k_bild$,p_m# ENDIF GRAPHMODE 1 DEFMOUSE 0 DEFFILL 1 COLOR 1 ENDIF ENDIF ENDIF IF farbe1$="S" OR (waag#=2 AND senk#=1) THEN ALERT 2,"WAS FÜR EIN|FORMAT WOLLEN SIE SPEICHERN",1,"LUP|CONVERT",b# IF b#=1 THEN FILESELECT "A:\*.LUP","",nlb$ IF nlb$<>"" THEN BSAVE nlb$,XBIOS(2),32000 ENDIF ENDIF IF b#=2 THEN DEFFILL 0 SGET screen2$ PAUSE 5 DEFMOUSE 5 REPEAT UNTIL MOUSEK=1 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY IF mx#>mx1# THEN mx1#=mx# ENDIF IF my#>my1# THEN my1#=my# ENDIF GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,kopierb$ PUT 0,0,kopierb$ xachse#=mx1#-mx# yachse#=my1#-my# FILESELECT "A:\*.CON","",nlb$ IF nlb$<>"" THEN OPEN "O",#1,nlb$ PRINT #1,xachse# PRINT #1,yachse# zeeler#=0 FOR xsave#=0 TO xachse# FOR ysave#=0 TO yachse# IF xsave#=0 AND ysave#=0 THEN PRINT #1,POINT(xsave#,ysave#) zeeler#=1 ENDIF IF xsave#<>0 OR ysave#<>0 THEN IF ysave#=0 THEN IF POINT(xsave#,ysave#)<>POINT(xsave#-1,yachse#) THEN PRINT #1,zeeler# PRINT #1,POINT(xsave#,ysave#) zeeler#=1 ELSE zeeler#=zeeler#+1 ENDIF ENDIF IF ysave#>0 THEN IF POINT(xsave#,ysave#)<>POINT(xsave#,ysave#-1) THEN PRINT #1,zeeler# PRINT #1,POINT(xsave#,ysave#) zeeler#=1 ELSE zeeler#=zeeler#+1 ENDIF ENDIF IF xsave#=xachse# AND ysave#=yachse# THEN PRINT #1,zeeler# ENDIF ENDIF NEXT ysave# NEXT xsave# CLOSE #1 SPUT screen2$ ENDIF ENDIF ENDIF IF farbe1$="C" OR (waag#=4 AND senk#=1) THEN REPEAT PAUSE 5 DEFMOUSE 5 REPEAT UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 PAUSE 5 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND REPEAT UNTIL MOUSEK=0 GET mx#,my#,mx1#,my1#,kopierb$ REPEAT REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,kopierb$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,kopierb$,6 UNTIL MOUSEK=1 OR MOUSEK=2 IF MOUSEK=1 THEN GRAPHMODE g_m# PUT mx2#,my2#,kopierb$,p_m# ENDIF GRAPHMODE 1 DEFMOUSE 0 UNTIL MOUSEK=2 PAUSE 5 UNTIL MOUSEK=2 PAUSE 5 DEFMOUSE 0 ENDIF IF farbe1$="M" OR (waag#=5 AND senk#=4) THEN GET 0,0,319,199,bild$ CLS GRAPHMODE 1 FOR xax#=1 TO 12 FOR yax#=0 TO 4 DEFFILL 1,yax#,xax# PBOX xax#*16,yax#*16,xax#*16+16,yax#*16+16 NEXT yax# NEXT xax# FOR xax1#=13 TO 24 DEFFILL 1,2,xax1# PBOX xax1#*16-192,81,xax1#*16-176,97 NEXT xax1# REPEAT mx12#=MOUSEX my12#=MOUSEY UNTIL MOUSEK=1 OR MOUSEK=2 IF MOUSEK=1 AND mx12#<209 AND my12#<81 THEN komp1#=INT(my12#/16) komp2#=INT(mx12#/16) ENDIF IF MOUSEK=1 AND mx12#<209 AND my12#>80 AND my12#<97 THEN komp1#=2 komp2#=INT((mx12#+192)/16) ENDIF DEFFILL 1,1,0 GRAPHMODE 3 PUT 0,0,bild$ ENDIF PAUSE 5 IF farbe1$="F" OR (waag#=2 AND senk#=4) THEN DEFMOUSE 5 GRAPHMODE 1 REPEAT farbe$=INKEY$ GOSUB farbe REPEAT farbe$=INKEY$ GOSUB farbe mxf#=MOUSEX myf#=MOUSEY UNTIL MOUSEK=2 OR MOUSEK=1 EXIT IF MOUSEK=2 IF MOUSEK=1 THEN farbe$=INKEY$ GOSUB farbe DEFFILL farbe#,komp1#,komp2# FILL mxf#,myf# ENDIF UNTIL MOUSEK=2 GRAPHMODE 3 DEFMOUSE 0 DEFFILL 1,1,0 ENDIF IF farbe1$="K" OR (waag#=5 AND senk#=2) THEN ALERT 2," SOLLEN DIE KREISE | GEFÜLLT WERDEN ",2," JA | NEIN ",fuell# DEFMOUSE 5 PAUSE 5 REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 mx#=MOUSEX my#=MOUSEY WHILE MOUSEK=0 IF test$<>"" THEN farbe$=test$ ELSE farbe$=INKEY$ ENDIF GOSUB farbe IF farbe$="Q" AND anfwink#<3600 THEN anfwink#=anfwink#+100 ENDIF IF farbe$="W" AND anfwink#>10 THEN anfwink#=anfwink#-100 ENDIF IF farbe$="A" AND endwink#<3600 THEN endwink#=endwink#+100 ENDIF IF farbe$="S" AND endwink#>10 THEN endwink#=endwink#-100 ENDIF IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GRAPHMODE 3 mx1#=MOUSEX CIRCLE mx#,my#,mx1#-mx#,anfwink#,endwink# REPEAT testx#=MOUSEX testy#=MOUSEY test$=INKEY$ EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR MOUSEK<>0 OR test$<>"" CIRCLE mx#,my#,mx1#-mx#,anfwink#,endwink# WEND EXIT IF MOUSEK=2 GRAPHMODE g_m# IF fuell#=1 THEN DEFFILL farbe#,komp1#,komp2# PCIRCLE mx#,my#,mx1#-mx#,anfwink#,endwink# ELSE CIRCLE mx#,my#,mx1#-mx#,anfwink#,endwink# ENDIF PAUSE 5 UNTIL MOUSEK=2 GRAPHMODE 1 DEFLINE 1,1 DEFMOUSE 0 COLOR 1 DEFFILL 1 ENDIF IF farbe1$="R" OR (waag#=4 AND senk#=2) THEN ALERT 2," SOLLEN DIE RECHTECKE | GEFÜLLT WERDEN ",2," JA | NEIN ",fuell# ALERT 2," WIE SOLLEN DIE ECKEN | GEZEICHNET WERDEN ",2," RUND | ECKIG ",eckru# DEFMOUSE 5 PAUSE 5 REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 mx#=MOUSEX my#=MOUSEY WHILE MOUSEK=0 farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GRAPHMODE 3 mx1#=MOUSEX my1#=MOUSEY BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND EXIT IF MOUSEK=2 GRAPHMODE g_m# IF fuell#=1 AND eckru#=2 THEN DEFFILL farbe#,komp1#,komp2# PBOX mx#,my#,mx1#,my1# ENDIF IF fuell#=2 AND eckru#=2 THEN BOX mx#,my#,mx1#,my1# ENDIF IF fuell#=1 AND eckru#=1 THEN DEFFILL farbe#,komp1#,komp2# PRBOX mx#,my#,mx1#,my1# ENDIF IF fuell#=2 AND eckru#=1 THEN RBOX mx#,my#,mx1#,my1# ENDIF PAUSE 5 UNTIL MOUSEK=2 GRAPHMODE 1 DEFLINE 1,1 DEFMOUSE 0 COLOR 1 DEFFILL 1 ENDIF IF farbe1$="G" OR (waag#=3 AND senk#=2) THEN DEFMOUSE 5 PAUSE 5 REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 mx#=MOUSEX my#=MOUSEY WHILE MOUSEK=0 farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF GRAPHMODE 3 mx1#=MOUSEX my1#=MOUSEY DRAW mx#,my# TO mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 DRAW mx#,my# TO mx1#,my1# WEND EXIT IF MOUSEK=2 GRAPHMODE 1 DRAW mx#,my# TO mx1#,my1# PAUSE 5 UNTIL MOUSEK=2 GRAPHMODE 1 DEFLINE 1,1 DEFMOUSE 0 COLOR 1 DEFFILL 1 ENDIF IF farbe1$="E" OR (waag#=6 AND senk#=2) THEN ALERT 2," SOLLEN DIE ELLIPSEN | GEFÜLLT WERDEN ",2," JA | NEIN ",fuell# DEFMOUSE 5 PAUSE 5 REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF REPEAT farbe$=INKEY$ GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF UNTIL MOUSEK=1 OR MOUSEK=2 EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 mx#=MOUSEX my#=MOUSEY WHILE MOUSEK=0 IF test$<>"" THEN farbe$=test$ ELSE farbe$=INKEY$ ENDIF GOSUB farbe IF farbe$="+" THEN breite#=breite#+1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="-" AND breite#>1 THEN breite#=breite#-1 DEFLINE 1,breite#,2,2 ENDIF IF farbe$="Q" AND anfwink#<3600 THEN anfwink#=anfwink#+100 ENDIF IF farbe$="W" AND anfwink#>10 THEN anfwink#=anfwink#-100 ENDIF IF farbe$="A" AND endwink#<3600 THEN endwink#=endwink#+100 ENDIF IF farbe$="S" AND endwink#>10 THEN endwink#=endwink#-100 ENDIF GRAPHMODE 3 mx1#=MOUSEX my1#=MOUSEY ELLIPSE mx#,my#,mx1#-mx#,my1#-my#,anfwink#,endwink# REPEAT testx#=MOUSEX testy#=MOUSEY test$=INKEY$ EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 OR test$<>"" ELLIPSE mx#,my#,mx1#-mx#,my1#-my#,anfwink#,endwink# WEND EXIT IF MOUSEK=2 GRAPHMODE g_m# IF fuell#=1 THEN DEFFILL farbe#,komp1#,komp2# PELLIPSE mx#,my#,mx1#-mx#,my1#-my#,anfwink#,endwink# ELSE ELLIPSE mx#,my#,mx1#-mx#,my1#-my#,anfwink#,endwink# ENDIF PAUSE 5 UNTIL MOUSEK=2 GRAPHMODE 1 DEFLINE 1,1 DEFMOUSE 0 COLOR 1 DEFFILL 1 ENDIF IF farbe1$="6" OR (waag#=1 AND senk#=3) THEN ALERT 2," WIE GROß SOLL | LUPE SEIN ",1,"16*16|VARIABEL",lupe# IF lupe#=1 THEN xlupe#=16 ylupe#=16 gros#=INT(140/xlupe#) ELSE DEFFILL 0 SGET screen2$ CLS PAUSE 5 DEFMOUSE 5 mx#=0 my#=0 REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY IF mx1#-mx#>40 THEN mx1#=mx#+40 ENDIF IF my1#-my#>50 THEN my1#=my#+50 ENDIF IF mx1#-mx#<2 THEN mx1#=mx#+2 ENDIF IF my1#-my#<2 THEN my1#=my#+2 ENDIF IF mx#>mx1# THEN mx1#=mx# ENDIF IF my#>my1# THEN my1#=my# ENDIF GRAPHMODE 3 BOX mx#,my#,mx1#,my1# PRINT AT(21,1);"X:" PRINT AT(21,2);"Y:" PRINT AT(23,1);USING "##",mx1# PRINT AT(23,2);USING "##",my1# REPEAT testx#=MOUSEX testy#=MOUSEY IF testx#>40 THEN testx#=40 ENDIF IF testy#>50 THEN testy#=50 ENDIF IF testx#<2 THEN testx#=2 ENDIF IF testy#<2 THEN testy#=2 ENDIF EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND xlupe#=mx1#-mx# ylupe#=my1#-my# IF xlupe#>=ylupe# THEN gros#=INT(130/xlupe#) REPEAT IF gros#*ylupe#+30>190 THEN gros#=gros#-1 ELSE okay#=1 ENDIF UNTIL okay#=1 okay#=0 REPEAT IF gros#*xlupe#+xlupe#>INT(159/gros#)*gros# THEN gros#=gros#-1 ELSE okay#=1 ENDIF UNTIL okay#=1 okay#=0 ELSE gros#=INT(180/ylupe#) REPEAT IF gros#*ylupe#+30>190 THEN gros#=gros#-1 ELSE okay#=1 ENDIF UNTIL okay#=1 okay#=0 REPEAT IF gros#*xlupe#+xlupe#>INT(159/gros#)*gros# THEN gros#=gros#-1 ELSE okay#=1 ENDIF UNTIL okay#=1 okay#=0 ENDIF SPUT screen2$ REPEAT UNTIL MOUSEK=0 DEFMOUSE 0 ENDIF REPEAT GRAPHMODE 3 HIDEM REPEAT mx#=MOUSEX my#=MOUSEY IF mx#+xlupe#>=320 THEN mx#=320-xlupe# ENDIF IF my#+ylupe#>=200 THEN my#=200-ylupe# ENDIF BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe# REPEAT testx#=MOUSEX testy#=MOUSEY IF testx#+xlupe#>=320 THEN testx#=320-xlupe# ENDIF IF testy#+ylupe#>=200 THEN testy#=200-ylupe# ENDIF EXIT IF MOUSEK=2 UNTIL testx#<>mx# OR testy#<>my# OR MOUSEK<>0 BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe# UNTIL MOUSEK<>0 IF MOUSEK=1 SHOWM GRAPHMODE 3 BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe# IF mx#<xlupe#*gros#+6 AND my#<ylupe#*gros#+31 THEN fak#=INT(160/gros#)*gros# ELSE fak#=0 ENDIF GET fak#,0,fak#+xlupe#*gros#+4,ylupe#*gros#+25,aus$ GRAPHMODE 1 DEFFILL 1 COLOR 1 PBOX fak#,0,xlupe#*gros#+fak#,ylupe#*gros# BOX fak#,0,xlupe#*gros#+fak#,ylupe#*gros# IF farbe#=0 THEN farbe#=1 ENDIF DEFFILL farbe# PBOX fak#,ylupe#*gros#+1,xlupe#*gros#+fak#,ylupe#*gros#+24 COLOR 1 BOX fak#,ylupe#*gros#,xlupe#*gros#+fak#,ylupe#*gros#+24 DEFTEXT farbe#-1,,,6 GRAPHMODE 2 TEXT (xlupe#-1)*gros#+fak#-(((xlupe#-1)*gros#)/2)-6,ylupe#*gros#+18,farbe# GRAPHMODE 1 DIM punkte%(xlupe#,ylupe#) FOR q#=0+mx# TO xlupe#+mx# FOR w#=0+my# TO ylupe#+my# punkte%(q#-mx#,w#-my#)=POINT(q#,w#) NEXT w# NEXT q# FOR q#=0 TO xlupe#-1 FOR w#=0 TO ylupe#-1 DEFFILL punkte%(q#,w#) PBOX q#*gros#+fak#+1,w#*gros#+1,q#*gros#+(gros#-1)+fak#,w#*gros#+(gros#-1) NEXT w# NEXT q# REPEAT REPEAT REPEAT farbe$=INKEY$ GOSUB farbe UNTIL farbe#<>testfarbe# OR MOUSEK<>0 testfarbe#=farbe# DEFFILL farbe# PBOX fak#,ylupe#*gros#+1,xlupe#*gros#+fak#,ylupe#*gros#+24 COLOR 1 BOX fak#,ylupe#*gros#,xlupe#*gros#+fak#,ylupe#*gros#+24 IF farbe#>0 THEN DEFTEXT farbe#-1,,,6 ELSE DEFTEXT 1,,,6 ENDIF GRAPHMODE 2 TEXT (xlupe#-1)*gros#+fak#-(((xlupe#-1)*gros#)/2)-6,ylupe#*gros#+16,farbe# GRAPHMODE 1 UNTIL MOUSEK=1 OR MOUSEK=2 mx1#=MOUSEX my1#=MOUSEY IF fak#=0 AND mx1#<xlupe#*gros# AND my1#<ylupe#*gros# OR fak#>0 AND mx1#<fak#+xlupe#*gros# AND mx1#>fak# AND my1#<0+ylupe#*gros# AND my1#>0 THEN DEFFILL farbe# COLOR farbe# PBOX (INT(mx1#/gros#)*gros#)+1,(INT(my1#/gros#)*gros#)+1,((INT(mx1#/gros#)*gros#))+(gros#-1),((INT(my1#/gros#)*gros#))+(gros#-1) DRAW INT((mx1#-fak#)/gros#)+mx#,INT((my1#)/gros#)+my# PAUSE 5 ENDIF IF fak#=0 AND mx1#<xlupe#*gros# AND my1#<ylupe#*gros# THEN DEFFILL farbe# COLOR farbe# PBOX (INT(mx1#/gros#)*gros#)+1,(INT(my1#/gros#)*gros#)+1,((INT(mx1#/gros#)*gros#)+gros#)-1,((INT(my1#/gros#)*gros#)+gros#)-1 DRAW INT((mx1#)/gros#)+mx#,INT((my1#)/gros#)+my# PAUSE 5 ENDIF UNTIL MOUSEK=2 PAUSE 5 ERASE punkte%() GRAPHMODE 3 BOX mx#-1,my#-1,mx#+xlupe#,my#+ylupe# PUT fak#,0,aus$ GRAPHMODE 1 DEFFILL 0 COLOR 1 ENDIF UNTIL MOUSEK=2 ENDIF IF farbe1$="9" OR (waag#=4 AND senk#=6) THEN DEFMOUSE 5 GET 0,0,160,40,links$ GET 160,0,319,40,rechts$ REPEAT REPEAT PAUSE 5 mx#=MOUSEX my#=MOUSEY IF mx#>160 THEN IF enderx#<=160 THEN GET 0,0,160,40,links$ PUT 160,0,rechts$ ENDIF PRINT AT(1,1);"X:" PRINT AT(3,1);USING "###",mx# PRINT AT(8,1);"Y:" PRINT AT(10,1);USING "###",my# ELSE IF enderx#>160 THEN GET 160,0,319,40,rechts$ PUT 0,0,links$ ENDIF PRINT AT(26,1);"X:" PRINT AT(28,1);USING "###",mx# PRINT AT(33,1);"Y:" PRINT AT(35,1);USING "###",my# ENDIF enderx#=mx# REPEAT SHOWM testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 schrei$=INKEY$ schrei$=UPPER$(schrei$) UNTIL testx#<>mx# OR testy#<>my# OR MOUSEK<>0 OR schrei$="T" OR schrei$="K" UNTIL MOUSEK=1 OR MOUSEK=2 OR schrei$="T" OR schrei$="K" EXIT IF MOUSEK=2 IF schrei$="T" THEN DEFTEXT 1,,,4 pu$=STR$(mx#)+"/"+STR$(my#) GRAPHMODE 1 TEXT mx#+2,my#,pu$ ENDIF COLOR 1 DRAW mx#,my# IF schrei$="K" THEN GRAPHMODE 1 CIRCLE mx#,my#,3 ENDIF PAUSE 5 UNTIL MOUSEK=2 IF mx#>160 THEN GET 160,0,319,40,rechts$ ELSE GET 0,0,160,40,links$ ENDIF PUT 0,0,links$ PUT 160,0,rechts$ DEFMOUSE 0 ENDIF IF farbe1$="Ä" OR (waag#=7 AND senk#=6) THEN SGET screen2$ REPEAT UNTIL MOUSEK=0 DIM ziffer$(9) DIM ezahl#(1) DIM ezahl$(1) ziffer$(0)="⓪" ziffer$(1)="①" ziffer$(2)="②" ziffer$(3)="③" ziffer$(4)="④" ziffer$(5)="⑤" ziffer$(6)="⑥" ziffer$(7)="⑦" ziffer$(8)="⑧" ziffer$(9)="⑨" CLS ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl$(1)=ezahl$(0) ezahl#(0)=0 ergo#=0 GRAPHMODE 1 DEFFILL 9,1,1 PRBOX 20,10,170,190 RBOX 20,10,170,190 RBOX 22,12,168,188 DEFFILL 8,1,1 PBOX 30,20,160,50 BOX 30,20,160,50 BOX 28,18,162,52 RESTORE rech DEFTEXT 1,,,13 DEFFILL 2,1,1 onetwo#=0 FOR x#=1 TO 5 FOR y#=1 TO 4 GRAPHMODE 1 BOX x#*25+10,y#*30+40,x#*25+25,y#*30+60 BOX x#*25+12,y#*30+42,x#*25+23,y#*30+58 PBOX x#*25+12,y#*30+42,x#*25+23,y#*30+58 READ tast$ GRAPHMODE 2 TEXT x#*25+13,y#*30+55,tast$ NEXT y# NEXT x# rech: DATA "*","7","4","1","÷","8","5","2","-","9","6","3","+","=","C","0",".","√","^","±" DEFTEXT 1,,,32 GRAPHMODE 2 TEXT 32,47,ezahl$(0) GRAPHMODE 1 komma#=0 REPEAT REPEAT mx#=MOUSEX my#=MOUSEY UNTIL MOUSEK=2 OR (MOUSEK=1 AND mx#>35 AND mx#<150 AND my#>70 AND my#<190) EXIT IF MOUSEK=2 REPEAT UNTIL MOUSEK=0 dx#=INT((mx#-10)/25) dy#=INT((my#-40)/30) IF LEN(ezahl$(onetwo#))<12 THEN IF dx#=5 AND dy#=1 AND komma#<>2 THEN komma#=1 ELSE IF (dx#>=1 AND dx#<=3 AND dy#>=2 AND dy#<=4) OR (dx#=4 AND dy#=4) THEN IF dx#=1 AND dy#=4 THEN zi#=1 ENDIF IF dx#=2 AND dy#=4 THEN zi#=2 ENDIF IF dx#=3 AND dy#=4 THEN zi#=3 ENDIF IF dx#=1 AND dy#=3 THEN zi#=4 ENDIF IF dx#=2 AND dy#=3 THEN zi#=5 ENDIF IF dx#=3 AND dy#=3 THEN zi#=6 ENDIF IF dx#=1 AND dy#=2 THEN zi#=7 ENDIF IF dx#=2 AND dy#=2 THEN zi#=8 ENDIF IF dx#=3 AND dy#=2 THEN zi#=9 ENDIF IF dx#=4 AND dy#=4 THEN zi#=0 ENDIF IF komma#<>1 THEN IF LEFT$(ezahl$(onetwo#),1)="⓪" THEN ezahl$(onetwo#)=RIGHT$(ezahl$(onetwo#),7)+ziffer$(zi#) ELSE ezahl$(onetwo#)=ezahl$(onetwo#)+ziffer$(zi#) ENDIF ezahl#(onetwo#)=VAL(STR$(ezahl#(onetwo#))+STR$(zi#)) ELSE ezahl#(onetwo#)=VAL(STR$(ezahl#(onetwo#))+"."+STR$(zi#)) IF LEN(ezahl$(onetwo#))<8 THEN ezahl$(onetwo#)=RIGHT$(ezahl$(onetwo#),6)+"."+ziffer$(zi#) ELSE ezahl$(onetwo#)=ezahl$(onetwo#)+"."+ziffer$(zi#) ENDIF komma#=2 ENDIF ENDIF ENDIF ENDIF IF dx#=5 AND dy#=4 THEN ezahl#(onetwo#)=-ezahl#(onetwo#) ENDIF IF dx#=1 AND dy#=1 THEN alg$="*" IF onetwo#=0 THEN onetwo#=1 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(1)=0 ELSE onetwo#=0 ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(0)=0 ENDIF komma#=0 ENDIF IF dx#=2 AND dy#=1 THEN alg$="/" IF onetwo#=0 THEN onetwo#=1 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(1)=0 ELSE onetwo#=0 ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(0)=0 ENDIF komma#=0 ENDIF IF dx#=3 AND dy#=1 THEN alg$="-" IF onetwo#=0 THEN onetwo#=1 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(1)=0 ELSE onetwo#=0 ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(0)=0 ENDIF komma#=0 ENDIF IF dx#=4 AND dy#=1 THEN alg$="+" IF onetwo#=0 THEN onetwo#=1 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(1)=0 ELSE onetwo#=0 ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(0)=0 ENDIF komma#=0 ENDIF IF dx#=5 AND dy#=3 THEN alg$="^" IF onetwo#=0 THEN onetwo#=1 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(1)=0 ELSE onetwo#=0 ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(0)=0 ENDIF komma#=0 ENDIF IF dx#=4 AND dy#=3 THEN ezahl$(0)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(0)=0 ezahl$(1)="⓪⓪⓪⓪⓪⓪⓪⓪" ezahl#(1)=0 komma#=0 ENDIF IF (dx#=4 AND dy#=2) OR (dx#=5 AND dy#=2) THEN IF alg$="*" THEN ezahl#(onetwo#)=ezahl#(0)*ezahl#(1) ENDIF IF alg$="/" THEN IF onetwo#=0 THEN IF ezahl#(0)<>0 THEN ezahl#(onetwo#)=ezahl#(1)/ezahl#(0) ENDIF ELSE IF ezahl#(1)<>0 THEN ezahl#(onetwo#)=ezahl#(0)/ezahl#(1) ENDIF ENDIF ENDIF IF alg$="+" THEN ezahl#(onetwo#)=ezahl#(1)+ezahl#(0) ENDIF IF alg$="-" THEN IF onetwo#=0 THEN ezahl#(onetwo#)=ezahl#(1)-ezahl#(0) ELSE ezahl#(onetwo#)=ezahl#(0)-ezahl#(1) ENDIF ENDIF IF alg$="^" THEN IF onetwo#=0 THEN ezahl#(onetwo#)=ezahl#(1)^ezahl#(0) ELSE ezahl#(onetwo#)=ezahl#(0)^ezahl#(1) ENDIF ENDIF IF dx#=5 AND dy#=2 THEN IF onetwo#=0 THEN ezahl#(onetwo#)=SQR(ezahl#(0)) ELSE ezahl#(onetwo#)=SQR(ezahl#(1)) ENDIF ENDIF alg$="" ezahl$(onetwo#)="" ergeb$="" FOR x#=1 TO 8-LEN(STR$(ezahl#(onetwo#))) ergeb$=ergeb$+"0" NEXT x# ergeb$=ergeb$+STR$(ezahl#(onetwo#)) IF LEN(ergeb$)<=8 THEN FOR x#=1 TO 8 IF MID$(ergeb$,x#,1)="." THEN ezahl$(onetwo#)=ezahl$(onetwo#)+"." komma#=2 ELSE ezahl$(onetwo#)=ezahl$(onetwo#)+ziffer$(VAL(MID$(ergeb$,x#,1))) ENDIF NEXT x# ELSE FOR x#=1 TO LEN(ergeb$) IF MID$(ergeb$,x#,1)="." THEN ezahl$(onetwo#)=ezahl$(onetwo#)+"." komma#=2 ELSE ezahl$(onetwo#)=ezahl$(onetwo#)+ziffer$(VAL(MID$(ergeb$,x#,1))) ENDIF NEXT x# ENDIF ENDIF GRAPHMODE 1 DEFFILL 8,1,1 PBOX 31,21,159,49 GRAPHMODE 2 IF LEN(ezahl$(onetwo#))<=8 THEN DEFTEXT 1,,,32 GRAPHMODE 2 TEXT 32,47,ezahl$(onetwo#) ENDIF IF LEN(ezahl$(onetwo#))<=16 AND LEN(ezahl$(onetwo#))>8 THEN DEFTEXT 1,,,13 GRAPHMODE 2 TEXT 32,42,ezahl$(onetwo#) ENDIF IF LEN(ezahl$(onetwo#))>16 THEN DEFTEXT 1,,,4 GRAPHMODE 2 TEXT 32,38,ezahl$(onetwo#) ENDIF GRAPHMODE 1 IF ezahl#(onetwo#)<0 THEN DEFFILL 1,1,1 ELSE DEFFILL 9,1,1 ENDIF PBOX 80,55,110,60 UNTIL MOUSEK=2 ERASE ziffer$() ERASE ezahl#() ERASE ezahl$() SPUT screen2$ ENDIF IF farbe1$="Q" OR (waag#=5 AND senk#=6) THEN DEFFILL 0 SGET screen2$ PAUSE 5 DEFMOUSE 5 REPEAT UNTIL MOUSEK=1 mx#=MOUSEX my#=MOUSEY REPEAT UNTIL MOUSEK=0 WHILE MOUSEK=0 mx1#=MOUSEX my1#=MOUSEY IF mx1#-mx#>300 THEN mx1#=mx#+300 ENDIF IF mx#>mx1# THEN mx1#=mx# ENDIF IF my#>my1# THEN my1#=my# ENDIF GRAPHMODE 3 BOX mx#,my#,mx1#,my1# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx1# OR testy#<>my1# OR MOUSEK<>0 BOX mx#,my#,mx1#,my1# WEND GET mx#,my#,mx1#,my1#,kopierb$ PUT 0,0,kopierb$ xachse#=mx1#-mx# yachse#=my1#-my# DIM punkte#(xachse#,yachse#) FOR q#=0 TO xachse# FOR w#=0 TO yachse# punkte#(q#,w#)=POINT(q#,w#) NEXT w# NEXT q# CLS REPEAT UNTIL MOUSEK=0 ALERT 2,"WIE WOLLEN SIE |DEN BLOCK WELLEN",1,"LÄNGS|QUER",lq# IF lq#=1 THEN WHILE MOUSEK=0 REPEAT mx2#=MOUSEX my2#=MOUSEY UNTIL INT(mx2#/20)>0 AND my2#>0 GRAPHMODE 3 FOR q#=0 TO xachse# DRAW q#,INT(my2#/20)*SIN(q#/INT(mx2#/20))+INT(my2#/20) NEXT q# FOR q#=0 TO xachse# DRAW q#,INT(my2#/20)*SIN(q#/INT(mx2#/20))+INT(my2#/20)+yachse# NEXT q# DRAW 0,INT(my2#/20)*SIN(0)+INT(my2#/20) TO 0,INT(my2#/20)*SIN(0/INT(mx2#/20))+INT(my2#/20)+yachse# DRAW xachse#,INT(my2#/20)*SIN(xachse#/INT(mx2#/20))+INT(my2#/20) TO xachse#,INT(my2#/20)*SIN(xachse#/INT(mx2#/20))+INT(my2#/20)+yachse# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 EXIT IF MOUSEK<>0 FOR q#=0 TO xachse# DRAW q#,INT(my2#/20)*SIN(q#/INT(mx2#/20))+INT(my2#/20) NEXT q# FOR q#=0 TO xachse# DRAW q#,INT(my2#/20)*SIN(q#/INT(mx2#/20))+INT(my2#/20)+yachse# NEXT q# DRAW 0,INT(my2#/20)*SIN(0)+INT(my2#/20) TO 0,INT(my2#/20)*SIN(0/INT(mx2#/20))+INT(my2#/20)+yachse# DRAW xachse#,INT(my2#/20)*SIN(xachse#/INT(mx2#/20))+INT(my2#/20) TO xachse#,INT(my2#/20)*SIN(xachse#/INT(mx2#/20))+INT(my2#/20)+yachse# WEND GRAPHMODE 1 y1achse#=yachse#+2*INT(my2#/20) PBOX 0,0,xachse#,y1achse# FOR q#=0 TO xachse# FOR w#=0 TO yachse# COLOR punkte#(q#,w#) DEFFILL punkte#(q#,w#) DRAW q#,INT(my2#/20)*SIN(q#/INT(mx2#/20))+w#+INT(my2#/20) NEXT w# NEXT q# GET 0,0,xachse#,y1achse#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 ELSE WHILE MOUSEK=0 REPEAT mx2#=MOUSEX my2#=MOUSEY UNTIL INT(my2#/20)>0 AND mx2#>0 GRAPHMODE 3 FOR q#=0 TO yachse# DRAW INT(mx2#/20)*SIN(q#/INT(my2#/20))+INT(mx2#/20),q# NEXT q# FOR q#=0 TO yachse# DRAW INT(mx2#/20)*SIN(q#/INT(my2#/20))+INT(mx2#/20)+xachse#,q# NEXT q# DRAW INT(mx2#/20)*SIN(0)+INT(mx2#/20),0 TO INT(mx2#/20)*SIN(0/INT(my2#/20))+INT(mx2#/20)+xachse#,0 DRAW INT(mx2#/20)*SIN(yachse#/INT(my2#/20))+INT(mx2#/20),yachse# TO INT(mx2#/20)*SIN(yachse#/INT(my2#/20))+INT(mx2#/20)+xachse#,yachse# REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 EXIT IF MOUSEK<>0 FOR q#=0 TO yachse# DRAW INT(mx2#/20)*SIN(q#/INT(my2#/20))+INT(mx2#/20),q# NEXT q# FOR q#=0 TO yachse# DRAW INT(mx2#/20)*SIN(q#/INT(my2#/20))+INT(mx2#/20)+xachse#,q# NEXT q# DRAW INT(mx2#/20)*SIN(0)+INT(mx2#/20),0 TO INT(mx2#/20)*SIN(0/INT(my2#/20))+INT(mx2#/20)+xachse#,0 DRAW INT(mx2#/20)*SIN(yachse#/INT(my2#/20))+INT(mx2#/20),yachse# TO INT(mx2#/20)*SIN(yachse#/INT(my2#/20))+INT(mx2#/20)+xachse#,yachse# WEND GRAPHMODE 1 x1achse#=xachse#+2*INT(mx2#/20) PBOX 0,0,x1achse#,yachse# FOR q#=0 TO yachse# FOR w#=0 TO xachse# COLOR punkte#(w#,q#) DEFFILL punkte#(w#,q#) DRAW INT(mx2#/20)*SIN(q#/INT(my2#/20))+w#+INT(mx2#/20),q# NEXT w# NEXT q# GET 0,0,x1achse#,yachse#,k_bild$ SPUT screen2$ GRAPHMODE 3 REPEAT farbe3$=INKEY$ IF LEN(farbe3$)>1 THEN sondert#=ASC(RIGHT$(farbe3$,1)) ENDIF IF sondert#=59 THEN IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>1 THEN SPUT bild_1$ ENDIF bildin#=1 ENDIF IF sondert#=60 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF IF bildin#<>2 THEN SPUT bild_2$ ENDIF bildin#=2 ENDIF IF sondert#=61 THEN IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#<>3 THEN SPUT bild_3$ ENDIF bildin#=3 ENDIF mx2#=MOUSEX my2#=MOUSEY PUT mx2#,my2#,k_bild$,6 REPEAT testx#=MOUSEX testy#=MOUSEY EXIT IF MOUSEK=2 UNTIL testx#<>mx2# OR testy#<>my2# OR MOUSEK<>0 PUT mx2#,my2#,k_bild$,6 UNTIL MOUSEK=1 OR MOUSEK=2 ENDIF GRAPHMODE g_m# IF MOUSEK=1 PUT mx2#,my2#,k_bild$,p_m# ENDIF GRAPHMODE 1 ERASE punkte#() DEFMOUSE 0 DEFFILL 1 COLOR 1 ENDIF IF bildin#=1 THEN SGET bild_1$ ENDIF IF bildin#=2 THEN SGET bild_2$ ENDIF IF bildin#=3 THEN SGET bild_3$ ENDIF PAUSE 5 UNTIL MOUSEK=1 OR MOUSEK=2 UNTIL MOUSEK=2 PAUSE 5 UNTIL MOUSEK=2 ALERT 2,"WOLLEN SIE |DAS PROGRAMM ECHT BEENDEN",1,"JA,BITTE|NIEMALS",b# EXIT IF b#=1 UNTIL MOUSEK=2 PROCEDURE farbe IF ASC(farbe$)>47 AND ASC(farbe$)<116 THEN farbe#=(ASC(farbe$))-48 GET 0,170,30,199,deck$ PRINT AT(1,23);farbe$ PAUSE 15 PUT 0,170,deck$ farbe#=(ASC(farbe$))-48 COLOR farbe# DEFFILL farbe# ENDIF RETURN